读书人

键盘模拟将回车替换成SHITF+回车,该

发布时间: 2012-03-08 13:30:13 作者: rapoo

键盘模拟,将回车替换成SHITF+回车
对话框,PrestranslateMessage

C/C++ code
{       if ( pMsg-> wParam   ==   VK_RETURN)       {    keybd_event(VK_SHIFT,0,0,0);                                keybd_event(VK_RETURN,0,0,0);     keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0);     keybd_event(VK_SHIFT,0,KEYEVENTF_KEYUP,0);                             return   TRUE;        }}

求解下。。在线等。

[解决办法]
想模拟一个键按下,都要发出“按下”和“弹起”二值。
所以你要发出:

1. 按下 shift
2. 按下 回车
3. 弹起 回车
4. 弹起 shift
[解决办法]
keybd_event(VK_SHIFT, NULL, KEYEVENTF_EXTENDEDKEY|0, 0);
keybd_event(VK_RETURN, NULL, KEYEVENTF_EXTENDEDKEY|0, 0);

keybd_event(VK_RETURN, NULL, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, NULL, KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP, 0);
[解决办法]
探讨
对话框,PrestranslateMessage

C/C++ code

{
if ( pMsg-> wParam == VK_RETURN)
{
keybd_event(VK_SHIFT,0,0,0);
keybd_event(VK_RETURN,0,0,0);
……

[解决办法]
给一个模拟Alt+Tab的实例,楼主可查阅下keybd_event函数第二个参数的说明,重新模拟Shift+Return。
C/C++ code
// Simulating a Alt+Tab keystrokekeybd_event(VK_MENU,0xb8,0 , 0); //Alt Presskeybd_event(VK_TAB,0x8f,0 , 0); // Tab Presskeybd_event(VK_TAB,0x8f, KEYEVENTF_KEYUP,0); // Tab Releasekeybd_event(VK_MENU,0xb8,KEYEVENTF_KEYUP,0); // Alt Release 

读书人网 >VC/MFC

热点推荐