如何在C中检测一个或一组键的笔划?

时间:2010-07-17 09:59:50

标签: c c89

如何在ANSI C和/或Win32 SDK中检测密钥的一个或一组笔划?

例如:如何检测按CTRL + ALT + DEL?

请向我提供一些源代码或任何网络链接。

请注意,我使用的是轮询机制,而不是事件。

我需要在win32控制台模式下执行此操作。

1 个答案:

答案 0 :(得分:1)

使用ANSI C是不可能的,因为ANSI C没有定义以这种方式访问​​键盘的任何方法。从用户那里获取输入的最低级别函数是getc,它在输入stdin并且按下了ENTER后返回一个字符。

对于Win32 API,确实可以这样做。在消息处理功能(WndProc)中,您应该注意WM_CHAR消息。修饰符将帮助您查看是否按下了CTRL和SHIFT。


P.S。只是一个想法,也许你正在寻找的是像Autohotkey这样的工具?