使用Peek / ReadConsoleInput()获取Windows中没有大写/滚动/ numlock的当前状态

时间:2011-12-22 02:29:47

标签: windows

我正在使用普通的C编写Windows控制台应用程序,并使用PeekConsoleInput / ReadConsoleInput来获取用户的击键并处理它们。

我需要在程序启动时获取Caps Lock,Scroll Lock和Num Lock键的当前状态,在用户输入任何内容之前。这意味着要处理的消息队列中没有KEY_EVENT。

这可能吗?如果是这样,怎么样?我已经查看了wincon.h中的大多数函数,似乎没什么用。

1 个答案:

答案 0 :(得分:2)

您可以调用三次GetAsyncKeyState,它通常会起作用,但在某些情况下它仍然不适合您。三个调用的参数是VK_CAPITAL,VK_SCROLL和VK_NUMLOCK。