2012-10-19 116 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值)。

回答