工作问题总结(二十九)模拟按键(刷新,前进,后退,主页)

一、网页操作

很多PC界面里面都会有这种功能,使用按钮控制网页的刷新。大家如果在浏览器中打开页面,最直接的就是F5刷新,那我们也可以模拟这个类型的按键操作。

 

1.主页

这个不需要模拟,直接在窗口里面打开网址就可。

//ShellExecute(NULL, "open", "IEXPLORE", strCanonicalHref, NULL,SW_SHOWNORMAL);//方式1
//ShellExecute(NULL,"open",strCanonicalHref,NULL,NULL,SW_SHOWNORMAL);//方式2


打开网页在blog前面文章里有讲,方式1用于固定浏览器打开,方式2用于调用默认浏览器打开。

 

2.后退

首先要将焦点设置到该网页所在的窗口。

m_webCtrl.SetFocus();
keybd_event(VK_MENU,0,0,0);
keybd_event(VK_LEFT,0,0,0);
keybd_event(VK_LEFT,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);

keybd_event()就是对模拟鼠标事件的响应。

 

3.前进

m_webCtrl.SetFocus();
keybd_event(VK_MENU,0,0,0);
keybd_event(VK_RIGHT,0,0,0);
keybd_event(VK_RIGHT,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);

解释如上2

 

4.刷新

m_webCtrl.PostMessage(WM_KEYDOWN,(WPARAM)VK_F5,(LPARAM)0);
m_webCtrl.PostMessage(WM_KEYUP,(WPARAM)VK_F5,(LPARAM)0);

刷新较前面有点不同,需要消息处理。直接模拟F5按钮。

 

二、模拟鼠标移动

POINT lpPoint; 
GetCursorPos(&lpPoint);
SetCursorPos(lpPoint.x, lpPoint.y);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

这种方式可以在开启屏保(未设置桌面密码)时,通过模拟鼠标移动,解除屏保。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值