【发布时间】:2010-04-18 23:16:28
【问题描述】:
我想创建一个应用程序。当用户按下键盘上的特殊键或/并使用滚轮时,此应用程序必须执行某些操作。此应用程序是一项服务。它没有窗户。我想捕捉使用其他应用程序设计的任何键盘或鼠标事件。
例如,您正在通过 3rd 方应用程序观看电视。如果您按Ctrl + Shift 并使用滚轮,我的应用程序会更改音量。
我使用 Windows 7 x64 和 Visual Studio 2008。
【问题讨论】:
我想创建一个应用程序。当用户按下键盘上的特殊键或/并使用滚轮时,此应用程序必须执行某些操作。此应用程序是一项服务。它没有窗户。我想捕捉使用其他应用程序设计的任何键盘或鼠标事件。
例如,您正在通过 3rd 方应用程序观看电视。如果您按Ctrl + Shift 并使用滚轮,我的应用程序会更改音量。
我使用 Windows 7 x64 和 Visual Studio 2008。
【问题讨论】:
当各种事件发生时,您可以拨打SetWindowsHookEx() 得到通知。您可能希望使用键盘钩子和鼠标钩子来监视鼠标事件。
【讨论】:
hhk=::SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc1, 0, 0);。但这不起作用。你能给我更多的信息吗?
如果您的应用程序是真正的 Win32 服务,那么在 Vista 及更高版本上,应用程序将不会接收键盘或鼠标事件 - 为了关闭安全漏洞(搜索“粉碎攻击”),Microsoft 隔离了所有服务以防止它们与用户互动。
您需要让您的应用程序在与交互式登录用户的会话中运行。
【讨论】:
【讨论】: