关于PostMessage后台发送组合键
生活随笔
收集整理的這篇文章主要介紹了
关于PostMessage后台发送组合键
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PostMessage發送組合鍵,我實驗過幾次,都失敗
比如下面這些語句發送ALT+V, 根本無法發送成功
PostMessage(hWnd,WM_SYSKEYDOWN,VK_MENU,0); PostMessage(hWnd,WM_SYSKEYDOWN,VK_V,0); Sleep(50); PostMessage(hWnd,WM_SYSKEYUP,VK_V,0); PostMessage(hWnd,WM_SYSKEYUP,VK_MENU,0);
后來我使用了spy++, 提出消息列表里捕獲到的消息, 用PostMessage發送.這種方式是可行的, ALT+V
PostMessage(hWnd,WM_SYSKEYDOWN, VK_MENU, 0x20380001); PostMessage(hWnd,WM_SYSKEYDOWN, 0x56,0x20200001); PostMessage(hWnd,WM_SYSCHAR,0x76,0x20200001); PostMessage(hWnd,WM_SYSKEYUP,0x56,0xE0200001); PostMessage(hWnd,WM_KEYUP, VK_MENU, 0xC0380001);如果是只發送ALT的組合鍵,還有一種方式是
PostMessage(hWnd,WM_SYSKEYDOWN,VK_V,1<<29);然后還有一種方式就是使用keybd_event的幫助, 使用keybd_event按著控制鍵,再用PostMessage發送按鍵的字母, 比如發送CTRL+L,?
如果要發送shift鍵, 將VK_CONTROL替換成shift就行了.
keybd_event(VK_CONTROL, 0, 0, 0); PostMessage(hWnd, WM_KEYDOWN, VK_L, 0x001E0001); PostMessage(hWnd, WM_KEYUP, VK_L, 0xC01E0001); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);這是我最近幾天寫按鍵程序的一點總結, 希望能幫助到其他的朋友.
總結
以上是生活随笔為你收集整理的关于PostMessage后台发送组合键的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 按键编码的定义
- 下一篇: 编译错误 无法打开包括文件:“SDKDD