sendinput()模拟鼠标点击,点击到桌面后就不受控了!求教
程序如下:在任意程序中触发点击事件是可以的,只要鼠标点击到桌面后,就不能再实现点击了,需要用鼠标点击下程序才可以继续使用模拟控制。
有什么解决的方法么?是不是因为活动窗口改变了,求教
void LeftClick () {
INPUT Input={0};
// left down
Input.type = INPUT_MOUSE; //可以是鼠标,也可以是键盘
Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
::SendInput(1,&Input,sizeof(INPUT));
cout<<"LCD"<<endl;
// left up
::ZeroMemory(&Input,sizeof(INPUT));
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
::SendInput(1,&Input,sizeof(INPUT));
cout<<"LCU"<<endl;
}
void RightClick(){
INPUTInputR={0};
//RightDown
InputR.type = INPUT_MOUSE;
InputR.mi.dwFlags = MOUSEEVENTF_RIGHTDOWN;
::SendInput(1,&InputR,sizeof(INPUT));
cout<<"RCD"<<endl;
//RightUp
::ZeroMemory(&InputR,sizeof(INPUT));
InputR.type = INPUT_MOUSE;
InputR.mi.dwFlags = MOUSEEVENTF_RIGHTUP;
::SendInput(1,&InputR,sizeof(INPUT));
cout<<"RCU"<<endl;
}
[解决办法]
参考http://www.autohotkey.com源代码