2016-04-28 146 views
2

我的用戶必須使用在控制檯中創建的一個應用程序。它完全複製和粘貼,但需要很長時間才能完成每個過程。C#應用程序在控制檯中使用另一個應用程序

我的團隊爲了節省時間創建了一個應用程序,它可以通過機器人來實現這一點。它大概在15分鐘內完成整個工作,大約在5小時之前。

問題是,用戶無法在機器人運行時使用機器,所以即使用戶丟失的時間較少,他仍然會失去時間。

所以我想知道,有沒有辦法創建一個應用程序,從txt讀取數據並寫入控制檯(它只是需要)在後臺?沒有讓用戶停止使用機器做其他stuf?

如果有辦法,有人可以解釋如何實現這一目標嗎?

@ EDIT 用戶不能在機器人工作時使用機器,因爲它被編程爲在屏幕的某些部分自動點擊(如打開程序)然後寫入,所以如果用戶移動光標或寫一些東西,之後的所有內容都會出錯,所以我想創建一個程序,將背景中的東西寫下來,在這種情況下用戶可以使用機器。

+0

類似這樣的:http://stackoverflow.com/questions/21848271/redirecting-standard-input-of-console-application? – DaveShaw

+4

爲什麼用戶不能使用機器? (幫助我們弄清楚如何解決你遇到的問題) – Caramiriel

+0

用戶不能使用,因爲這樣做的程序是一個機器人,所以它開始使用機器,就好像用戶正在這樣做,但很多速度更快,所以他不能使用鼠標,也不能更換屏幕,因爲如果是這樣,程序將會正常停止工作(它不會在正確的位置點擊,也不會正確寫入數據)。這個解釋更好嗎? –

回答

1

如果您的機器人解決方案需要將機器的鼠標指針和鍵盤控制爲「虛假」用戶輸入,那麼如果您仔細考慮,則無法做到您所要求的。操作系統只能讀取一個鼠標光標和鍵盤輸入,如果用戶應該通過使用機器來干擾,而機器人正在工作,我認爲它會失敗,因爲機器人可能依賴於「移動x,移動y ,點擊像AutoIT和AutoHotkey這樣的腳本類型。

但是,我能想到的解決方法是在實際機器上設置虛擬機環境,在該機器上運行控制檯程序和機器人。然後,虛擬機將擁有自己的輸入鏈,並且可以在用戶同時使用主機操作系統時保留自己的輸入鏈。

這不是很優雅,但它會工作。它也有一些缺點:

您將需要一個許可證的虛擬化操作系統 您將需要複製的虛擬化設置 工具鏈,用戶必須保持看見或VM 虛擬機必須配置爲干擾根據需要訪問共享數據(共享文件夾)