C++怎么模拟键盘按键?
就是我想后台键盘按键。怎么弄呢?HWNDhwnd=::FindWindow("Notepad",NULL);HWNDhedit=::FindWindowEx(hwnd,N...
就是我想后台键盘按键。怎么弄呢?
HWND hwnd = ::FindWindow("Notepad",NULL);
HWND hedit = ::FindWindowEx(hwnd,NULL,"edit",NULL);
::SendMessage(hedit,WM_CHAR,'S',0);
这是我网上找的。。找了很多感觉都和这个差不多。
我测试了一下。连txt文件都不会输入。
求大神发一点代码给我参考一下。
我是想要游戏后台按键。
还有没有和PostMessage函数差不多的后台按键函数? 展开
HWND hwnd = ::FindWindow("Notepad",NULL);
HWND hedit = ::FindWindowEx(hwnd,NULL,"edit",NULL);
::SendMessage(hedit,WM_CHAR,'S',0);
这是我网上找的。。找了很多感觉都和这个差不多。
我测试了一下。连txt文件都不会输入。
求大神发一点代码给我参考一下。
我是想要游戏后台按键。
还有没有和PostMessage函数差不多的后台按键函数? 展开
3个回答
展开全部
(1) 在页面上点右键,按'E’键(菜单上注明'E’是快捷键)
(2) 这时候弹出保存对话框,因为文件名该程序已经根据页面为我们默认设好了,所以直接点回车确认就可以了。
(3) 转到下一页,查看程序的“视图”菜单发现,有一个“跳转”-“下一页”的选项,快捷键是Ctrl+PageDown,因此只要再按下Ctrl+PageDown即可。
(4) 重复(1)直到全部操作结束。
程序如下:
//此程序用于模拟鼠标和键盘操作。
#include<windows.h>
int main()
{
Sleep(3000);//留3秒用于我们把鼠标移到文档上
for(int i=1;i<567;i++)
{
//模拟右键按下弹起
mouse_event(MOUSEEVENTF_RIGHTDOWN,0, 0, 0, 0);
mouse_event(MOUSEEVENTF_RIGHTUP,0, 0, 0, 0);
//模拟按下'E'键
keybd_event('E',(BYTE)0, 0 ,0);
keybd_event('E', (BYTE)0, KEYEVENTF_KEYUP,0);
Sleep(50);
//模拟按下回车,对应确定保存
keybd_event(VK_RETURN, 0, 0 ,0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP,0);
Sleep(100);//等待保存
//模拟按下ctrl+PageDown键,对应翻页
keybd_event(VK_CONTROL, (BYTE)0, 0 ,0);
keybd_event(VK_NEXT,(BYTE)0, 0 ,0);
keybd_event(VK_NEXT, (BYTE)0, KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL, (BYTE)0, KEYEVENTF_KEYUP,0);
Sleep(50);//等待翻页
}
return 0;
}
(2) 这时候弹出保存对话框,因为文件名该程序已经根据页面为我们默认设好了,所以直接点回车确认就可以了。
(3) 转到下一页,查看程序的“视图”菜单发现,有一个“跳转”-“下一页”的选项,快捷键是Ctrl+PageDown,因此只要再按下Ctrl+PageDown即可。
(4) 重复(1)直到全部操作结束。
程序如下:
//此程序用于模拟鼠标和键盘操作。
#include<windows.h>
int main()
{
Sleep(3000);//留3秒用于我们把鼠标移到文档上
for(int i=1;i<567;i++)
{
//模拟右键按下弹起
mouse_event(MOUSEEVENTF_RIGHTDOWN,0, 0, 0, 0);
mouse_event(MOUSEEVENTF_RIGHTUP,0, 0, 0, 0);
//模拟按下'E'键
keybd_event('E',(BYTE)0, 0 ,0);
keybd_event('E', (BYTE)0, KEYEVENTF_KEYUP,0);
Sleep(50);
//模拟按下回车,对应确定保存
keybd_event(VK_RETURN, 0, 0 ,0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP,0);
Sleep(100);//等待保存
//模拟按下ctrl+PageDown键,对应翻页
keybd_event(VK_CONTROL, (BYTE)0, 0 ,0);
keybd_event(VK_NEXT,(BYTE)0, 0 ,0);
keybd_event(VK_NEXT, (BYTE)0, KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL, (BYTE)0, KEYEVENTF_KEYUP,0);
Sleep(50);//等待翻页
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询