C++获取鼠标位置及全局检测鼠标行为

1、获取鼠标位置(在屏幕的位置)   CPoint m_mouse;      GetCursorPos(&m_mouse);2、 屏幕转化为客户端(控件的相对位置)& 客户端位置转化为屏幕位置      ClientToScreen(this->m_hwnd,m_mouse);  //客户端位置转化为屏幕位置      ScreenToClient(th...
摘要由CSDN通过智能技术生成

1、获取鼠标位置(在屏幕的位置)

   CPoint m_mouse;

      GetCursorPos(&m_mouse);

2、 屏幕转化为客户端(控件的相对位置)& 客户端位置转化为屏幕位置

      ClientToScreen(this->m_hwnd,m_mouse);  //客户端位置转化为屏幕位置

      ScreenToClient(this->m_hwnd,m_mouse) ;  //屏幕转化为客户端

3、获取控件关于在屏幕的位置

   CRect  rc  

  GetWindowRect(&rc);

4、检测鼠标的action的方式多,自己用的多的是msdn上介绍的callback的鼠标钩子(低级钩子)函数来实现

    1> 、对鼠标进行的几个全局变量进行声明:

     将这部分放置在C++类的外部  

/*  
 全局变量和全局函数定义  
 设定一个鼠标低级钩子变量
*/  


HHOOK mouse_Hook ;  
LRESULT CALLBACK LowLevelMouseProc ( INT nCode,
                                     WPARAM wParam, 
                                     LPARAM lParam
                                   );  
BOOL UninstallHook();  //卸载  
BOOL InstallHook();     //安装

         2>、在构造函数中初始化

1 mouse_Hook=NULL;   //将钩子NULL

        3>、在初始化函数中安装Hook          

1 InstallHook()

       4>、在析构函数中添加

UninstallHook()

     5>、 在当前cpp的类外中定义声明的三个函数

     

 1 
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值