分配控制台();与 GetAsyncKeyState();

AllocConsole(); with GetAsyncKeyState();

我在 AllocConsole() 之间有一些 std::cout 和 std::cin 命令;和 FreeConsole();,但是当我按下 ctrl + caps lock 时,控制台只是短暂地闪烁,不会 cout 或等待 cin。

这是为调出控制台设置热键的错误方法吗?

if (GetAsyncKeyState(VK_CONTROL) && GetAsyncKeyState(VK_CAPITAL)){ // ctrl + caps
            AllocConsole();
            ....
            ....
            ....
            ....
            FreeConsole();
        }

谢谢你的时间。

试试 GetAsyncKeyState(VK_CONTROL)&1

无论哪种方式,除非您在其中放置一些 Sleep(),否则它只会打开然后立即关闭。

这绝对是 RegisterHotKey

的工作