簡體   English   中英

如何在所有應用程序中模擬鍵盤輸入?

[英]How to simulate keyboard input in ALL applications?

我正在編寫一個應用程序(在C#中),作為其一部分必須模擬並向其他應用程序發送一些擊鍵。 我正在使用http://inputsimulator.codeplex.com/項目來模擬密鑰,它適用於許多應用程序,但在某些應用程序中卻沒有 - 即Mortal Combat 4。

我用Google搜索了一下,發現許多答案從“不可能”到“你必須使用XXX庫”等等。那些回答讓我很害怕,甚至幾乎確信我當時無法做到這一點,但...

M $虛擬鍵盤有效。 它適用於所有應用程序。 所以有可能......你們中有誰聰明的人知道我怎么能做到這一點?

好吧,我想我終於開始工作了。 我使用了Neal P推薦的API Monitor,它顯示了OSK調用與我之間的差異很小。 過了一會兒,我試圖讓我的調用線程在發送帶有按鍵和釋放鍵的消息之間休息一段時間,就是這樣。

雖然你能夠實現你的目的,但你實現它的方式並沒有從根本上回答你的問題:如何在所有應用程序中模擬鍵盤輸入?

在許多情況下,Microsoft API已經提到的常見用戶模式不起作用,例如使用DirectInput API或受保護游戲的游戲應用程序。

我已經構建了一個可以在這種情況下提供幫助的 ,它提供了一個簡單的C API,可以在內部與設備過濾器驅動程序通信 它能夠為基於DirectInput的游戲發送輸入,並且還能夠繞過一些游戲保護。 我已經檢查過,它仍然能夠通過使用庫的x64版本繞過一些已知的游戲保護。 游戲保護通常只掛鈎x86系統的API。 好吧,最后,現在,2012年2月18日,這就是我所看到的情況。

看看MSDN上的SendKeys

暫無
暫無

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

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