模拟鼠标单击消息

模拟鼠标单击消息
 
 
// 模拟鼠标左键单击消息
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 ) ;
}
posted @ 2015-12-08 15:50  svolcano  阅读(437)  评论(0编辑  收藏  举报