使用按键切换布尔值 我正在编写一个Windows C++应用程序,我想检测一下按键(这个例子中,用字母S)。按下该键时,程序应打开或关闭布尔值(取决于其当前状态)

使用按键切换布尔值 我正在编写一个Windows C++应用程序,我想检测一下按键(这个例子中,用字母S)。按下该键时,程序应打开或关闭布尔值(取决于其当前状态),c++,winapi,keypress,boolean,C++,Winapi,Keypress,Boolean,我知道在控制台应用程序中可以使用cin.get,但我不熟悉Win32 API。我还想确保,当按键时,事件只注册一次,即,如果用户按下“S”,但按住按键一段时间,程序应该只检测到“S”;不是“sssss”。所以你有一个windows消息循环,对吗?捕获并检查它是否处于自动恢复状态 但我猜你实际上在使用一个框架,不管是MFC、QT还是其他什么。该框架将包装您的windows消息循环,并允许您捕获关键事件,但如果您希望我们告诉您如何捕获,您必须说明您正在使用的框架 也许是个愚蠢的问题,但我不知道什么是

我知道在控制台应用程序中可以使用
cin.get
,但我不熟悉Win32 API。我还想确保,当按键时,事件只注册一次,即,如果用户按下“S”,但按住按键一段时间,程序应该只检测到“S”;不是“sssss”。

所以你有一个windows消息循环,对吗?捕获并检查它是否处于自动恢复状态


但我猜你实际上在使用一个框架,不管是MFC、QT还是其他什么。该框架将包装您的windows消息循环,并允许您捕获关键事件,但如果您希望我们告诉您如何捕获,您必须说明您正在使用的框架

也许是个愚蠢的问题,但我不知道什么是框架。。。如何找出我正在使用的?我从一个工作程序开始,正在编辑它……考虑一下:1)告诉我们您使用的编译器/开发环境。我猜是VisualStudio的一个版本,但是哪个呢?2) 学习基础知识。查看不同项目类型()的各种结果,并与示例项目进行比较。3) 接受超过35%的SO问题的答案。请解释为什么你不想自动回复工作。你写的是游戏吗?我写的是科学实验。我正在尝试打开或关闭事件。我不想让事件同时打开和关闭,只在按下按钮时切换一次。