【发布时间】:2013-02-24 08:47:18
【问题描述】:
我有一个Acer Aspire 5740G,我想拦截硬件按钮。我使用 SetWindowsHookEx() 编写了一个 C# 应用程序。
例如,对于音量按钮,我收到VolumeUp 和VolumeDown 消息,一切都很好。但是对于wifi 按钮 和蓝牙按钮,我只收到LBUTTON、OEMCLEAR(KeyCode 255)。那么如何区分这两者?
我还读到,这个按钮可能无法访问,因为它们会被视为操作系统下方的 Fn-Keys。但是有一个名为Launch Manager 的 Acer 软件,它显示 OSD 消息并显示蓝牙/wifi 标志。所以必须有可能(至少在理论上)在操作系统级别区分这些按钮。
那么,如何钩住这些键呢?
【问题讨论】:
标签: c# keyboard hook pinvoke device-driver