C++ allocsole();使用GetAsyncKeyState();
在alloconsole()之间有一些std::cout和std::cin命令;和FreeConsole();,但是,当我按下ctrl+caps lock时,控制台只是短暂地闪烁而过,不会停止或等待cin 这是设置打开控制台热键的错误方法吗C++ allocsole();使用GetAsyncKeyState();,c++,console,C++,Console,在alloconsole()之间有一些std::cout和std::cin命令;和FreeConsole();,但是,当我按下ctrl+caps lock时,控制台只是短暂地闪烁而过,不会停止或等待cin 这是设置打开控制台热键的错误方法吗 if (GetAsyncKeyState(VK_CONTROL) && GetAsyncKeyState(VK_CAPITAL)){ // ctrl + caps AllocConsole();
if (GetAsyncKeyState(VK_CONTROL) && GetAsyncKeyState(VK_CAPITAL)){ // ctrl + caps
AllocConsole();
....
....
....
....
FreeConsole();
}
谢谢您的时间。尝试GetAsyncKeyState(VK_控件)&1
不管是哪种方式,除非你在里面放一些Sleep(),否则它只是打开然后立即关闭
这绝对是一个用于的作业,看起来它应该是一个热键(
RegisterHotKey
),而不是一个轮询。您必须重新初始化std::cin,以便它与您创建的控制台窗口相关联。尝试freopen(“CONIN$,“r”,stdin)所以,即使我告诉它输出一些文本并等待我的输入,它也不会?如果你阻止它,它应该会工作。如果你需要导师,我很乐意帮助你。Skype或Tox.im:1小时。阻塞意味着暂停线程的执行