2 vaintwyt vaintwyt 于 2013.11.12 11:22 提问

在鼠标钩子中,如何实时获得鼠标的屏幕坐标?

在鼠标钩子的WM_LBUTTONDOWN消息中,我想获得鼠标点击瞬间的坐标。注意,是鼠标点击瞬间。

我现在知道有两种方法
1、GET_X_LPARAM(lparam)和GET_Y_LPARAM(lparam).
这种方法获取的是相对于钩子的鼠标坐标,但是钩子不像窗体,没有自己的坐标吧。我获取到的坐标要么很大,要么是负数。。。然后我尝试用钩子句柄来转换,ClientToScreen((HWND)hMouseHook, &pt)。得到的pt值也不是鼠标的屏幕坐标啊。

2、GetCursorPos
我现在用的临时方法就是这个。不过这里有一个问题。这个不是鼠标点击瞬间的坐标,而是我执行GetCursorPos时候,鼠标的坐标。由于我代码中,点击完会移动鼠标到指定的位置。所以获取的坐标时而准确,时而不准确。

请大牛赐教啊!!!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
坐标系 unity 鼠标 位置
鼠标拖拽功能 transform.position 获取世界坐标 ,物体在世界坐标,无论怎样的UI,怎样的层级关系,代码里输出Debug.log(go.transform.position),输出的总是相对于场景中心(0,0)的距离,也是获取世界坐标的方法。transform.position都是以场景中心(0,0)的位置开始计算,单位长度也都是一样的 鼠标:获取的是2维坐标 ,鼠标
java实现获取鼠标在屏幕上的坐标
本篇博客其实没什么难度可言,在这里分享给大家,是因为有时候我们需要这个工具,java作为跨平台语言的优势在这个软件就可以体现出来,不需修改就可以在windows、mac、linux上使用这个软件。这个小工具主要是使用MouseInfo类实时获取鼠标的信息,然后再JDialog上显示出来。代码如下:package test;import java.awt.BorderLayout; import ja
winform 获得鼠标的坐标
这么写就行 Point p1 = MousePosition;//鼠标相对于屏幕的坐标 Point p2 = this.PointToClient(MousePosition);//鼠标相对于窗体的坐标
Unity3D各种获取鼠标各种位置的小方法
Vector3 screenPosition;//将物体从世界坐标转换为屏幕坐标 Vector3 mousePositionOnScreen;//获取到点击屏幕的屏幕坐标 Vector3 mousePositionInWorld;//将点击屏幕的屏幕坐标转换为世界坐标 void Update() { MouseFollow(); }
获取鼠标实时位置坐标
//获取鼠标实时坐标 function mousePosition(ev){ ev = ev || window.event; if(ev.pageX || ev.pageY){ return {x:ev.pageX, y:ev.pageY}; } return { x:ev.clientX + document.body
python实时得到鼠标的位置
#先下载pyautogui库,pip install pyautogui import os,time import pyautogui as pag try: while True: print "Press Ctrl-C to end" x,y = pag.position() #返回鼠标的坐标 posStr="Po
js实时获取鼠标所在坐标
js实时获取鼠标所在的位置。
c#中获取屏幕上鼠标的坐标
获取屏幕上的鼠标坐标,需要用到timer控件,在timer控件的timer1_Tick事件中添加:  private void timer1_Tick(object sender, EventArgs e)        {            //方法1:            textBox1.Text = Cursor.Position.X.ToString();           
(java)获取鼠标位置坐标
最近无聊玩玩新花样,需要获取屏幕坐标,之前这东西都是直接安装了别人的exe工具,现在想想自己也算程序猿了,就写一个吧 其实也不难,总体来说就是先创建一个面板,然后实时监听鼠标的位置,将其显示出来 对于鼠标的位置可以在MouseEvent e的e.getX()和e.getY()方法中获取,代码如下:     public void mouseMoved(MouseEvent e) { int
Window 显示鼠标的坐标
Window 显示鼠标的坐标 GetCursorPos(POINT *p)函数 SetCursorPos(int x, int y)函数