簡體   English   中英

如何在Win32中操縱來自鍵盤的輸入?

[英]How do I manipulate input from the keyboard in Win32?

還是要澄清這個問題,當我確實沒有這么做時,我如何才能使Windows認為自己已經按下了鍵? 我知道我可以使用SendMessage並在那里指定輸入,但是不僅我的應用程序會收到它嗎? 我希望對所有接收“假”輸入的應用程序進行控制。 有什么建議嗎?

您所描述的偽造輸入是由SendInput函數實現的。 輸入到具有輸入焦點的線程。

您可以將SendMessage發送到所需的任何窗口,即使在其他進程上也是如此。 您甚至可以使用HWND_BROADCAST將其發送到系統上的每個上級窗口。 但這就是您真正想要的嗎? 如果僅對特定程序感興趣,則可以使用FindWindow獲取其窗口的句柄,然后僅將消息發送到該窗口。

請注意,如果您要做的只是將一個簡單的擊鍵注入到另一個進程中,那么SendInput確實是SendInput的方法。 如果您想發送一些全局鍵盤快捷鍵,那么誰來關注都沒關系。 如果您想使用SendInput將相同的輸入發送到多個窗口, SendInput必須遍歷窗口列表,並為每個窗口首先設置焦點,然后發送輸入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM