如何同時自動化多個程式(發送鍵盤和滑鼠輸入)

如何同時自動化多個程式(發送鍵盤和滑鼠輸入)

我想使用腳本發送鍵盤或滑鼠輸入等事件來自動化另一個程式。例如,考慮一個玩遊戲的機器人(儘管我不玩視頻遊戲)。

我想同時對多個(腳本、程式)對執行此操作。

我知道我可以使用 autoit 或 win32 API 在 Windows 上自動化滑鼠和鍵盤,但 Windows 有「活動窗口」的概念:一次只有一個活動窗口,這是可以接收輸入的視窗。

由於這種“活動視窗”概念,我無法自動化多種的立即計劃。

我還有什麼選擇?

編輯:我需要將程式自動化,而不必等待另一個程式。使用鍵盤快速鍵切換活動視窗是行不通的。我還想在程式在後台自動運行的情況下使用計算機。

答案1

更新以包含綁定當前使用者輸入的替代方案

自動 使用 autoit 你可以做類似的事情

Opt("WinTitleMatchMode", 2)

While WinActive('Search')
    Send("{ALT DOWN}")
    Send("{TAB}")
    Send("{ALT UP}")
WEnd

其中「搜尋」包含視窗標題的一部分。

如果您知道視窗焦點的順序,您可以簡單地發送 tab 足夠的額外時間來到達給定的視窗。

alt+tab 的順序總是反向焦點順序。

Win32 這已經在其他線程上得到了回答,並深入到編程中。如果你想走這條路,你必須將 Windows 訊息傳送到你想要的進程。我會看看:如何將擊鍵傳送到視窗而無需使用 Windows API 啟動它?

看起來不太可靠,而且會有很多陷阱。必須對給定應用程式上處理鍵盤輸入的方式做出假設。

不知道您要實現什麼目標,我可能建議使用虛擬機器並允許該實例運行巨集/腳本。這應該允許用戶繼續使用計算機,而不佔用用戶正在使用的桌面。

相關內容