模拟鼠标单击消息
模拟鼠标单击消息
// 模拟鼠标左键单击消息
void CSimMouseMsgDlg::OnBnClickedLeftDown()
{
// 任取绘图区域内的一点
CPoint point(50,100) ;
// 把客户区域坐标转化为屏幕坐标
this->ClientToScreen ( &point ) ;
// 保存原来的鼠标位置
POINT OldPoint ;
::GetCursorPos ( &OldPoint ) ;
// 设置鼠标到新位置
::SetCursorPos ( point.x, point.y ) ;
// 模拟鼠标单击消息
mouse_event ( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 ) ;
mouse_event ( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 ) ;
// 设置鼠标到原来位置
::SetCursorPos ( OldPoint.x, OldPoint.y ) ;
}
// 模拟鼠标右键单击消息
void CSimMouseMsgDlg::OnBnClickedRightDown()
{
// 任取绘图区域内的一点
CPoint point(50,100) ;
// 把客户区域坐标转化为屏幕坐标
this->ClientToScreen ( &point ) ;
// 保存原来的鼠标位置
POINT OldPoint ;
::GetCursorPos ( &OldPoint ) ;
// 设置鼠标到新位置
::SetCursorPos ( point.x, point.y ) ;
// 模拟鼠标单击消息
mouse_event ( MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0 ) ;
mouse_event ( MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 ) ;
// 设置鼠标到原来位置
::SetCursorPos ( OldPoint.x, OldPoint.y ) ;
}