dev*_*ium 3 c# c++ vb.net api winapi
我正试图通过PostMessage向一个应用程序发送一个关键笔划.我使用太Spy ++试图理解如何发送消息,因为我不完全理解它的内部工作原理.
在这张照片中,第一个项目(选定项目)是由我自己制作的实际击键.它周围有一个红色椭圆(下图)的代码是用以下代码制作的:
WinApi.PostMessage(InsideLobbyHandle, WinApi.WM_KEYDOWN, (int)WinApi.VK_UP, 1);
Run Code Online (Sandbox Code Playgroud)
我想它必须与最后一个PostMessage()参数有关,但我无法弄清楚它是如何工作的.我可以在原始按键中看到ScanCode = 48,并且在我的0中,并且fExtended是1,而我的是0.我怎么能让它看起来一样?
在http://msdn.microsoft.com/en-us/library/ms646280(VS.85).aspx我无法理解最后一个参数的工作原理.
Kev*_*ose 13
使用SendInput而不是PostMessage 模拟键盘输入.
键盘状态/异步状态仍有一些警告:
SendInput函数不会重置键盘的当前状态.因此,如果用户在调用此函数时按下任何键,则可能会干扰此函数生成的事件.如果您担心可能的干扰,请使用GetAsyncKeyState函数检查键盘的状态,并根据需要进行更正.
WM_KEYDOWN通知的lParam 是根据字段的位数指定的:
警告:您基于PostMessage构建的任何解决方案都将非常脆弱.
归档时间: |
|
查看次数: |
11328 次 |
最近记录: |