C++ 获取ctrl-c和特殊键,以便在Windows上获取用户输入的字符时发挥作用。

问题描述 投票:0回答:1

我想做一个程序,让用户输入信息,程序逐个字符读取。我试图使用SetConsoleMode来改变控制台。我知道我需要设置ENABLE_PROCESSED_INPUT,但当它被设置后,方向键就不能用了。此外,需要输入另一个键,回车键才能被识别。如何在windows上解决这个问题?

  HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
  DWORD mode = 0;
  GetConsoleMode(hStdin, &mode);
  SetConsoleMode(hStdin, mode & ~(ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT) | ENABLE_PROCESSED_INPUT);
  int c = getchar();
  SetConsoleMode(hStdin, mode);
  return c;

说明一下,我是把ctrl-c的sigint诱捕到别的地方,所以需要控制台来发送信号。

c++ windows exit ctrl
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.