如何在 Win32 C++ 程序在后台运行时检测 KeyPress
我有一个程序,每当我最小化它时,它就会进入系统托盘。
我想知道的是: a) 当我的程序位于系统托盘中时,如何检测按键操作。 b)我怎么知道他们在键盘上按下了什么,特别是功能按钮。
I got a program that whenever I minimize it, it goes to the system tray.
i want to know is this:
a) how could i detect a key press while my program is in the system tray.
b) how could I know what they press in the keyboard specifically the function buttons.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要使用 SetWindowsHookEx() 设置键盘挂钩。查看WH_KEYBOARD 和 WH_KEYBOARD_LL钩子。
You need to set up a keyboard hook using SetWindowsHookEx(). Look at the WH_KEYBOARD and WH_KEYBOARD_LL hooks.
如果您确切知道所需的击键,可以使用
RegisterHotkey
,按下该键时 Windows 会向您发送一条消息。如果您想检测所有击键,@OJ 的答案将会起作用。
If you know exactly what keystroke you're expecting, you can use
RegisterHotkey
and Windows will send you a message when that key is pressed.If you want to detect all keystrokes, @OJ's answer will work.