在 WinAPI 中,我如何知道鼠标何时移出当前 window?
In WinAPI, how do I know when the mouse has moved outside the current window?
基本上,我想编写一个程序,用小 window 显示鼠标光标当前指向的像素的颜色。
当然,我可以偶尔轮询鼠标光标位置,但我想选择一种机制,当鼠标光标移动时调用我的代码,无论它是否指向当前 window 与否。
是否有一些 WinAPI 技巧可以实现该功能?
经过一番搜索,我发现了这个:
HHOOK mouseHook =
SetWindowsHookExA(
WH_MOUSE_LL,
LowLevelMouseProc,
hInstance,
0);
...
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam) {
if (wParam == WM_MOUSEMOVE) {
// Notify me.
}
return 0;
}
基本上,我想编写一个程序,用小 window 显示鼠标光标当前指向的像素的颜色。
当然,我可以偶尔轮询鼠标光标位置,但我想选择一种机制,当鼠标光标移动时调用我的代码,无论它是否指向当前 window 与否。
是否有一些 WinAPI 技巧可以实现该功能?
经过一番搜索,我发现了这个:
HHOOK mouseHook =
SetWindowsHookExA(
WH_MOUSE_LL,
LowLevelMouseProc,
hInstance,
0);
...
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam) {
if (wParam == WM_MOUSEMOVE) {
// Notify me.
}
return 0;
}