模拟鼠标单击消息

模拟鼠标单击消息
 
 
// 模拟鼠标左键单击消息
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 ) ;
}
原文地址:https://www.cnblogs.com/S-volcano/p/5029353.html