鼠标点在桌面上某个程序窗口中的任意一点,如何获得这个窗口的坐标位置?

解决方案 »

  1.   

    那一定要用到GetCursorPos函数了,
    你试一下这个函数的使用方法,估计就可以解决问题了。它是获得鼠标所在位置的,相对于整个屏幕。
      

  2.   

    GetCursorPos()  
    WindowFromPoint()
    GetWindowRect()
      

  3.   

    不太了解日志HOOK,感觉全局HOOK可以:安装一个全局鼠标HOOK,在HOOK函数(回调函数)中对鼠标的电击进行GetCursorPos()响应,就可以获取到鼠标的坐标了。
      

  4.   

    首先要安装全局钩子,需要将钩子函数写入动态链接库(dll),捕获鼠标消息,在回调函数中判断if(msg==WM_LBUTTONDOWN)然后调用GetActiveWindow()获取活动窗口的句柄,再调用GetWindowRect()获取窗口的大小,Rect左上角的坐标就可以认为是窗口的位置
      

  5.   


    先添加WB_LBUTTONUP的响应响应函数
    void CXXXXDlg::OnLButtonUp(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    CString str;
    str.Format("X坐标=%d, Y坐标=%d",point.x,point.y);//你可以根据这两个地方来改变你想要你操作
    MessageBox(str);                                 //point.x与point.y就是当前坐标
    CDialog::OnLButtonUp(nFlags, point);             
    }
      

  6.   

    在程序中处理LBUTTONDOWN消息 不就有参数坐标吗?