2010-01-24 77 views
1

我需要用任何編程語言(最好是Delphi 7/Delphi 10/C#)編寫一個程序,該程序模擬在Windows XP或Windows 7中每10秒鐘對一個給定進程按1。發送Windows消息,這些消息適用於所有其他我嘗試過的應用程序不適用於這個特定的應用程序,我懷疑它是因爲它使用了DirectX。這可以在不覆蓋DX*.DLL文件的情況下完成嗎?怎麼樣?如何將按鍵發送到DirectX應用程序?

謝謝
湯姆

編輯:我使用SendInput剛剛嘗試(在Delphi 7在Windows XP與代碼http://www.swissdelphicenter.ch/torry/showcode.php?id=220),並不起作用,要麼

回答

0

最後,我用了IO.DLL,很不幸在64位上不起作用,但我仍然很高興大約90%的我目標使用32位。

+0

有沒有什麼辦法可以在C#中使用它? – luvieere 2010-09-12 16:51:52

+0

@luvieere:試試這個:http://www.adp-gmbh.ch/csharp/call_dll.html,如果一切都失敗了,請在StackOverflow上提問你的問題:) – Tom 2010-09-13 10:43:46

0

的應用可能使用DirectInput或XInput。在這種情況下你可以做的事情很少,因爲DirectInput直接與鍵盤驅動程序一起工作。

1

如果應用程序不處理WM_CHAR/etc Windows消息(XInput/DirectInput),最好的辦法就是製作一個dll來注入應用程序,以覆蓋一些功能,導致那些直接使用系統資源訪問鍵盤/小鼠/手柄。 (對於鍵盤,使用DirectInput/XInput無論如何都是一個糟糕的主意:|)

相關問題