如何获得鼠标点击的x-y坐标像素位置?

时间:2009-12-07 01:26:29

标签: c++ winapi mouse

在C ++(WIN32)中,如何在屏幕上点击鼠标的(X,y)坐标?

5 个答案:

答案 0 :(得分:7)

假设使用普通的Win32 API,请在WM_LBUTTONDOWN的处理程序中使用它:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam);

答案 1 :(得分:1)

您可以拨打GetMouseMovePointsEx来获取鼠标位置和历史记录。或者,如果您有权访问wndproc,则只需检查WM_MOUSEMOVEWM_LBUTTONDOWN的lparam或类似的x,y坐标消息。

答案 2 :(得分:1)

答案 3 :(得分:1)

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam);
bool find(xPos,yPos);

现在,您将获得坐标中鼠标指针的x和y位置。 xPos和yPos应该很长:

bool find(long x,long y);

在里面,检查xPos和yPos是否位于屏幕坐标中的任何对象下。

答案 4 :(得分:-1)

POINT p; //You can use this to store the values of x and y coordinates

现在假设您将在单击鼠标左键时处理此问题

    case WM_LBUTTONDOWN:
        p.x = LOWORD(lParam); //X coordinate
        p.y = HIWORD(lParam); //Y coordinate
        /* the rest of your code */
        break;