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函数差不多的后台按键函数?
展开
 我来答
可以叫我表哥
推荐于2019-03-01
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
(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;
}
mafangsan
推荐于2017-11-26
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
你失败的原因应该是FindWindow返回的句柄是失败的。

你可以去学一下键盘钩子
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-10-15
展开全部
看吧,我看看吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式