我目前正在编写一个应用程序,允许滚动,而不用关注窗口。 我做了什么:我创build了一个LowLevelMouseHook 。 如果LowLevelMouseProc接收到MouseWheel消息,我正在search光标位置的句柄,并向该句柄发送滚动消息。 钩子看起来像这样:
LRESULT CALLBACK MouseHookCallback(int code,WParaM wparam,LParaM lparam) { if(code < 0) return CallNextHookEx(mouseHookInstance,code,wparam,lparam); if(UserMouseHookCallback != NULL) { UserMouseHookCallback(code,lparam);//scroll the hovered window here if(wparam == WM_MOUSEWHEEL) return -1; } return CallNextHookEx(mouseHookInstance,lparam); }
正如你所看到的,如果消息是鼠标滚轮消息,我正在回退-1。 这应该避免滚动当前聚焦的窗口(我不想滚动聚焦的窗口,我想滚动光标hover的窗口)。 问题是,它不取消滚动聚焦的窗口。 那么有没有人有一个想法如何避免滚动当前集中的窗口? 目前有两个窗口正在滚动。 一个我的鼠标hover,一个是重点。
请不要低估我的问题,给我一个机会。 我正在尽我所能,但我无法find解决scheme。
在挂接WH_CALLWNDPROC之后没有得到Window Procedure消息
以编程方式设置标题栏和边框颜色
如何在Windows平台上编写Git服务器钩子?
Windows多显示器的位置
SetwindowsHookEx,KeyboardProc和非静态成员
Win32,如何在编译的程序中使用C ++挂钩函数?
C ++ Windows:从主进程和CallWndProc进程访问相同的variables
试图挂钩Notepad.exe
我找到了解决方案。 这非常非常简单。 在你的清单中设置<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />或者以管理员身份手动启动它,它工作:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。