使用PostMessage向右发送ALT + C.
我试图在我的应用程序中发送正确的alt + C.
我尝试过以下操作:
PostMessage(hWindow, WM_KEYDOWN, (IntPtr)0x0043, (IntPtr)0x0012); Delay(1000); PostMessage(hWindow, WM_KEYUP, (IntPtr)0x0043, (IntPtr)0x0012);
和
PostMessage(hWindow, WM_KEYDOWN, (IntPtr)0x0043, (IntPtr)0x0001); Delay(1000); PostMessage(hWindow, WM_KEYUP, (IntPtr)0x0043, (IntPtr)0x0001);
但它没有正确。 我该怎么用呢?
交错他们,就像
alt down c down delay c up alt up
是的,可以使用PostMessage。 我使用程序Spy ++(它在Visual Studio中,或者你可以下载它https://mdb-blog.blogspot.com/2010/11/microsoft-spy-or-spyxx-for-download.html )我破坏了notepad.exe和间谍++,并使用函数FindWindow来处理这个记事本。 然后我使用Spy-> LogMessages,在Tab消息中我清除所有并保持复选框键盘并在输出中我检查了原始消息参数。
然后在记事本中我按了alt + 1,我注意到了Window Messages中的值。 我现在知道,使用WM_KEYDOWN,WM_KEYUP,WM_SYSKEYUP等,并且值为lParam,wParam。
我的function:
public void PressKeyWithAlt(uint key, uint lParamDown, uint lParamUp) { PostMessage(hWindow, WM_KEYDOWN, VK_CONTROL, 0x001D0001); PostMessage(hWindow, WM_KEYDOWN, VK_MENU, 0x21380001); PostMessage(hWindow, WM_KEYDOWN, key, lParamDown); Delay(1000); PostMessage(hWindow, WM_KEYUP, key, lParamUp); PostMessage(hWindow, WM_SYSKEYUP, VK_CONTROL, 0xE01D0001); PostMessage(hWindow, WM_KEYUP, VK_MENU, 0xC1380001); }
例如对于alt + 1
PressKeyWithAlt(VK_1, 0x20020001, 0xE0020001);
谢谢你的帮助。
尝试发送WM_SYSKEYDOWN和WM_SYSKEYUP消息。 按下并释放F10或ALT + some键时会生成它们。
上述就是C#学习教程:使用PostMessage向右发送ALT + C.分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/952995.html