获取当前的光标位置

我想获得窗口的当前鼠标位置,并将其分配给2个variablesxy (相对于窗口的坐标,而不是整个屏幕)。

我正在使用Win32和C ++。

还有一个快速的奖励问题:你将如何去隐藏光标/取消隐藏它?

您通过调用GetCursorPos获得光标位置。

 POINT p; if (GetCursorPos(&p)) { //cursor position now in px and py } 

这将返回相对于屏幕坐标的光标位置。 调用ScreenToClient映射到窗口坐标。

 if (ScreenToClient(hwnd, &p)) { //px and py are now relative to hwnd's client area } 

你用ShowCursor隐藏和显示光标。

 ShowCursor(FALSE);//hides the cursor ShowCursor(TRUE);//shows it again 

您必须确保每次调用隐藏光标都会再次显示。

如果你传递一个POINT结构的指针, GetCursorPos()会返回给你的x / y。

可以用ShowCursor()来隐藏游标。