首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

键盘模拟,将回车替换成SHITF+回车,该如何解决

2012-03-08 
键盘模拟,将回车替换成SHITF+回车对话框,PrestranslateMessageC/C++ code{if ( pMsg- wParamVK_RETURN)

键盘模拟,将回车替换成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 

热点排行