求救高手!!虚拟键盘问题 如何获取用户的击键动作,如何发送虚拟键给一个文本文件写入内容给出源代码更好,在此感谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LONG APIENTRY WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam){ switch(msg) { case WM_COMMAND: switch(LOWORD(wParam)) {case IDC_CLOSE: DestroyWindow(hwndMain); temp="00000804"; hkl=LoadKeyboardLayout(temp,KLF_ACTIVATE);//装载输入法 ActivateKeyboardLayout(hkl,KLF_SETFORPROCESS); PostQuitMessage(0); break; case IDC_WAVE: keybd_event(0xC0,0,0,0); keybd_event(0xC0,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_1: keybd_event(0x31,0,0,0); keybd_event(0x31,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_2: keybd_event(0x32,0,0,0); keybd_event(0x32,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_3: keybd_event(0x33,0,0,0); keybd_event(0x33,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_4: keybd_event(0x34,0,0,0); keybd_event(0x34,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_5: keybd_event(0x35,0,0,0); keybd_event(0x35,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_6: keybd_event(0x36,0,0,0); keybd_event(0x36,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_7: keybd_event(0x37,0,0,0); keybd_event(0x37,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_8: keybd_event(0x38,0,0,0); keybd_event(0x38,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_9: keybd_event(0x39,0,0,0); keybd_event(0x39,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_0: keybd_event(0x30,0,0,0); keybd_event(0x30,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_MINUS: keybd_event(0xBD,0,0,0); keybd_event(0xBD,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_PLUS: keybd_event(0xBB,0,0,0); keybd_event(0xBB,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_OEM5: keybd_event(0xDC,0,0,0); keybd_event(0xDC,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_TAB: keybd_event(0x09,0,0,0); keybd_event(0x09,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; case IDC_Q: keybd_event(0x51,0,0,0); keybd_event(0x51,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; //--------------------------------------- case IDC_W: keybd_event(0x57,0,0,0); keybd_event(0x57,0,KEYEVENTF_KEYUP,0); if (gbShift) { keybd_event(0x10,0,KEYEVENTF_KEYUP,0); gbShift=false; } break; MFC打开保存自定义文件!出现问题,急求指导~~~ VC中 我想用黑刷子刷一个圆的外围,该怎么做? XP 多桌面 运行一个程序 VS.net 2005中如何查看栈信息 定义一个数组int a[10],然后打印a,和&a为什么一样,它们没有什么区别吗? 那位好心人救救我阿?急求VC++技术内幕第四版!电子版本 serialize的问起,急,谢谢,关乎我能否继续在一个公司工作的问题,谢谢 我要学习VC,怎么入手啊? 关于BSTR的问题 IWebbrowser中DISPID_NEWWINDOW3 中关于获取URL中带有#的问题 有办法给最小化的窗体发送键盘消息吗? 高分求购模拟键盘源代码!
{
switch(msg)
{
case WM_COMMAND:
switch(LOWORD(wParam))
{case IDC_CLOSE:
DestroyWindow(hwndMain);
temp="00000804";
hkl=LoadKeyboardLayout(temp,KLF_ACTIVATE);//装载输入法
ActivateKeyboardLayout(hkl,KLF_SETFORPROCESS);
PostQuitMessage(0);
break;
case IDC_WAVE:
keybd_event(0xC0,0,0,0);
keybd_event(0xC0,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_1:
keybd_event(0x31,0,0,0);
keybd_event(0x31,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_2:
keybd_event(0x32,0,0,0);
keybd_event(0x32,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_3:
keybd_event(0x33,0,0,0);
keybd_event(0x33,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_4:
keybd_event(0x34,0,0,0);
keybd_event(0x34,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_5:
keybd_event(0x35,0,0,0);
keybd_event(0x35,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_6:
keybd_event(0x36,0,0,0);
keybd_event(0x36,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_7:
keybd_event(0x37,0,0,0);
keybd_event(0x37,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_8:
keybd_event(0x38,0,0,0);
keybd_event(0x38,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_9:
keybd_event(0x39,0,0,0);
keybd_event(0x39,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_0:
keybd_event(0x30,0,0,0);
keybd_event(0x30,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_MINUS:
keybd_event(0xBD,0,0,0);
keybd_event(0xBD,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_PLUS:
keybd_event(0xBB,0,0,0);
keybd_event(0xBB,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_OEM5:
keybd_event(0xDC,0,0,0);
keybd_event(0xDC,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_TAB:
keybd_event(0x09,0,0,0);
keybd_event(0x09,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
case IDC_Q:
keybd_event(0x51,0,0,0);
keybd_event(0x51,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;
//---------------------------------------
case IDC_W:
keybd_event(0x57,0,0,0);
keybd_event(0x57,0,KEYEVENTF_KEYUP,0);
if (gbShift)
{
keybd_event(0x10,0,KEYEVENTF_KEYUP,0);
gbShift=false;
}
break;