一、网页操作
很多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);
这种方式可以在开启屏保(未设置桌面密码)时,通过模拟鼠标移动,解除屏保。