关于Keybd_event函数的使用
我是用keybd_event模拟键盘的按下,然后发送给电脑。但是能发送到任何运行的程序的对话框,但就是WINODWS的不可以。我打开windows的我的电脑,在路径框却接收不到我所发送的数据,麻烦各位看看:
下面是一部分代码:
HWND hWnd = ::GetForegroundWindow();
//if(hWnd)
{
HWND hEdit = ::FindWindowEx(hWnd, NULL, 0, NULL);
if(hEdit)
{
CHAR szTmp[2] = {0};
szTmp[0] = inputReport[2];
if((szTmp[0]>=0x4F&&szTmp[0]<=0x52)||szTmp[0]==0x2A)
{
if(inputReport[2]==0x4F)
{
keybd_event(VK_RIGHT,0,0,0);
keybd_event(VK_RIGHT,0,KEYEVENTF_KEYUP,0);
}
else if(inputReport[2]==0x50)
{
keybd_event(VK_LEFT,0,0,0);
keybd_event(VK_LEFT,0,KEYEVENTF_KEYUP,0);
}
else if(inputReport[2]==0x51)
{
keybd_event(VK_DOWN,0,0,0);
keybd_event(VK_DOWN,0,KEYEVENTF_KEYUP,0);
}
else if(inputReport[2]==0x52)
{
keybd_event(VK_UP,0,0,0);
keybd_event(VK_UP,0,KEYEVENTF_KEYUP,0);
}
else if(inputReport[2]==0x2A)
{
keybd_event(VK_BACK,0,0,0);
keybd_event(VK_BACK,0,KEYEVENTF_KEYUP,0);
}
}
[解决办法]
http://www.autohotkey.com
[解决办法]
调试程序最好关闭所有的杀毒软件。