2012-10-19 120 views
1

我以前使用WIN32API調用來模擬擊鍵而不麻煩。即使在現在,表面上看,似乎也行得通。我使用Win32 SendMessage調用將WM_KEYDOWN,WM_CHAR,WM_KEYUP消息發送到記事本的實例。故障模擬擊鍵

果然,我發送的任何內容都出現在記事本中。

雖然使用Spy ++來檢查消息;我注意到,我發送的按鍵與我實際輸入的按鍵或使用內置在屏幕鍵盤上的Windows創建的按鍵明顯不同。

在間諜++我的單WM_KEYDOWN生成兩行:

<001> 00234 S WM_KEYDOWN nVirtKey:'W'.... 
<002> 00234 R WM_KEYDOWN 

按爲實W鍵(或使用OnScreenKeyboard)生成僅單個線

<003> 00234 P WM_KEYDOWN nVirtKey:'W'... 

如果我擴大這些消息,我可以看到'S'代表已發送,R'已收'和P'已發佈'。

任何人都可以告訴我如何可以更準確地模擬鍵盤輸入編程?我已經匹配了剩餘的消息(包括lParam值)。

回答