2017-08-04 126 views
-1

我想發送一個鍵盤按鍵到活動窗口,例如使用python的A或Backspace鍵。我怎樣才能做到這一點?如何將鍵盤按鍵發送到活動窗口?

我知道活動的窗口座標(如果可以的話)。

+0

您好,歡迎StackOverflow上。請花些時間閱讀幫助頁面,特別是[Stack Overflow問題清單](http://meta.stackexchange.com/q/156810/204922)和[ask]部分。 –

回答

-1

執行此操作的Windows API方法是SendInput,它是User32庫的一部分。它將鍵盤和鼠標輸入發送到前​​景/活動窗口。 SendInput使用INPUT結構,具體稱爲KEYBDINPUT。它因爲第一參數的細節,發送一個以上的輸入的選擇:在應答中指定有關此question

nInputs [IN]

Type: UINT 
The number of structures in the pInputs array. 

在Python使用SendInput的一個例子。

您使用MapVirtualKey功能爲虛擬鍵碼映射到一個掃描碼

+1

[您無法使用(發佈/發送)消息模擬鍵盤輸入](https://blogs.msdn.microsoft.com/oldnewthing/20050530-11/?p=35513) –

+1

** SendInput ** - 但是,正確答案。 **不應該真正討論SendMessage **,除非它是在發送WM_CHAR或WM_KEYDOWN/WM_KEYUP消息到窗口的上下文中。但是這些類型的黑客只會引起更多麻煩......因爲並非所有的窗口都以相同的方式響應輸入。我建議調整你的答案只是說SendInput函數。 – selbie

相關問題