模拟鼠标的单双击

来源:互联网 发布:php开源网站 编辑:程序博客网 时间:2024/05/01 22:49
实现方法
先用SetCursorPos将鼠标移动到某一特定位置。如果要模拟鼠标单击,则调用mouse_event函数两
次分别发送鼠标被按下的消息和鼠标被弹起的消息;如果要模拟鼠标双击,则重复发送一次鼠标被按下
和弹起的消息。
程序代码
(1)通过AppWizard生成单文档的应用程序SimulateMouse,视图类的基类选为CFormView。
(2)给对话框增加【双击标题栏】按钮,其响应函数为:
void CSimulateMouseView::OnLdbclick()  

 //将鼠标的位置放在窗口的标题条上
 POINT lpPoint; 
 CRect rc; 
 CWnd* pParent = AfxGetApp()->GetMainWnd(); 
 pParent->GetWindowRect(&rc); 
 lpPoint.x = rc.left+50; 
 lpPoint.y = rc.top+10; 
 SetCursorPos(lpPoint.x, lpPoint.y); 

 //双击该标题条

mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); 
 mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); 
 mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); 
 mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); 

(3)给对话框增加【单击关闭按钮】按钮,其响应函数为:
void CSimulateMouseView::OnLclick()  

 //将鼠标的位置放在窗口的关闭按钮上
 POINT lpPoint; 
 CRect rc; 
 CWnd* pParent = AfxGetApp()->GetMainWnd(); 
 pParent->GetWindowRect(&rc); 
 lpPoint.x = rc.right-5; 
 lpPoint.y = rc.top +5; 
 SetCursorPos(lpPoint.x, lpPoint.y); 
 //单击
 mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); 
 mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); 
}

0 0
原创粉丝点击