我想获取窗口的当前鼠标位置,并将其分配给2个变量x
和y
(相对于窗口的坐标,而不是整个屏幕)。
我正在使用Win32和C ++。
还有一个快速的奖励问题:你如何隐藏光标/取消隐藏它?
答案 0 :(得分:107)
通过调用GetCursorPos
获得光标位置。
POINT p;
if (GetCursorPos(&p))
{
//cursor position now in p.x and p.y
}
这将返回相对于屏幕坐标的光标位置。调用ScreenToClient
映射到窗口坐标。
if (ScreenToClient(hwnd, &p))
{
//p.x and p.y are now relative to hwnd's client area
}
隐藏并使用ShowCursor
显示光标。
ShowCursor(FALSE);//hides the cursor
ShowCursor(TRUE);//shows it again
您必须确保每次隐藏光标的调用都与再次显示该调用的调用相匹配。
答案 1 :(得分:13)
GetCursorPos()将返回x / y。
可以使用ShowCursor()隐藏光标。