2016-02-04 50 views
0

我負責的幾個服務器,我需要運行在他們每個人的多種桌面應用程序(近似50%的服務器)。這些應用程序在啓動時使用計劃任務啓動。的WinForms按下一個按鈕自動使用外部工具

的問題是,我需要我每次重新啓動服務器時手動啓動每一個應用程序(即按下按鈕)。

到目前爲止,我試着用開始用PowerShell腳本的應用程序:

[Microsoft.VisualBasic.Interaction]::AppActivate($proc.Id) 
[System.Windows.Forms.SendKeys]::SendWait("~") 

但這種方法是不可靠的方法,因爲的SendKeys發送擊鍵到活動窗口按照微軟的文檔here

所以我想知道是否有自動使用外部應用/工具來啓動這些應用提供了可靠的方法。

P.S.

我無權訪問代碼。

回答

2

我從來沒有使用過它,但AutoIt可能是一個良好的開端。

另一種方法是使用Win32 API(EnumWindows之類)爲每個你想要點擊的按鈕獲取句柄(hWnd)併發送適當的窗口消息(SendMessage,WM_MOUSEDOWN,WM_MOUSEUP)。

2

我用了一個打電話過去AutoHotkey非常可靠的工具。

如果你能找出按鍵按下(標籤,ALT等),以便把按鈕的焦點,它應該爲你工作。

+0

我強烈要求第二個這個。我曾經使用這種方法來自動化一些科學設備,只能通過古老桌面上的GUI應用程序進行控制。這在其他所有失敗的情況下都可以工作這不是很好,但它是可編寫腳本的,將完成工作。如果點擊很多按鈕,請務必添加一些延遲。 –

相關問題