我對C#很新,但我很快就學會了。我已經看到了各種各樣的答案,但我不確定他們的套件,或者我只是沒有得到它們。等待應用程序窗口打開然後執行某些操作
我有一個業務需求,寫一個c#應用程序,在系統托盤中的網站,並在Internet Explorer中執行特定操作時運行。這個動作(現在)是關於Internet Explorer窗口的開始。我需要應用程序不斷監視以查看此窗口是否已打開,然後運行一些代碼,一個示例將關閉窗口並顯示一個消息框。
我已經設法讓系統托盤部分工作,我將如何去監控窗口存在?
編輯 回答一些註釋中的問題: 在我們使用僅在IE中運行的訂票系統的工作,我們正在尋找一種方法來自動化我們的手工工藝的一部分,要做到這一點,我們是認爲我們可以有以下過程: 去預訂,點擊幫助>關於,系統托盤應用程序關閉窗口並運行一些代碼來更新數據庫。這是非常多的。
我不得不看看以下一些: How to check if window is opned and close it c#: How do check if another application window is open on my machine (i.e., iterate through all open windows)?
我想我明白,我必須通過正在運行的進程看,檢查有相關的計劃性,看它是否具有正確的窗口名稱?我確定我可以得到它的工作(最終),但它是等待窗口打開我堅持的部分,C#有waitfor或我必須編寫一個函數來不斷檢查該窗口是否打開?
編輯
我已經接受了@阿德里安的答案,因爲它看起來像它會想得到我想要的;然而,在閱讀所有評論後,我去了我的經理,我們討論了這一點。現在,我們將通過右鍵菜單中的文本框,讓用戶輸入預訂號碼到自己的C#應用程序中。謝謝大家。
爲什麼要你的應用程序有權使用由*另一*應用程序打開窗戶爛攤子? –
你有什麼嘗試?你見過的答案有什麼問題?你見過的答案是什麼?他們爲什麼不爲你工作? –
這就是... *絕對*我曾經聽說過的一個應用程序中最奇怪的行爲。如果你想自動執行任務,只需給用戶一個按鈕來點擊。不要將其綁定到關鍵系統功能。當IT需要查看機器上運行的IE版本時會發生什麼?他們去幫助 - >關於,突然間,東西開始自動預訂。哎呦! –