实现方法
先用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);
先用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