如何检测 ANSI C 和/或 Win32 SDK 中的一个或多个按键组合?
例如:如何检测 CTRL+ALT+DEL 是否被按下?
请给我一些源代码或任何网络链接。
请注意,我使用的是轮询机制,而不是事件。
我需要在 win32 控制台模式下进行。
使用 ANSI C 是不可能的,因为 ANSI C 没有定义任何以这种方式访问键盘的方法。其中接受用户输入的最低级函数是在输入字符并按下 ENTERgetc
后返回一个字符。stdin
至于Win32 API,确实可以做到。在消息处理函数 ( WndProc
) 中,您应该注意WM_CHAR
消息。修饰符将帮助您查看是否按下了 CTRL 和 SHIFT。
PS只是一个想法,也许您正在寻找的是像Autohotkey这样的工具?