鏀惰棌 (0) +1 璧� (0) +1 韪� (0) +1
鏀惰棌鎴愬姛鏌ョ湅鏀惰棌>>

正在阅读:让你的控制台程序也支持自动补齐让你的控制台程序也支持自动补齐

2004-03-29 10:06 出处:CSDN 作者:xstring 责任编辑:linjixiong

  cbSize - 该结构体的长度,16字节

  dwInitLen – 指出lpBuffer中已有字符的数目,这样ReadConsole在等待用户输入时,也会把lpBuffer中已有的内容算进去。

  dwWakeMask – 指出ReadConsole在接收到哪些Ctrl序列后返回,其中bit0对应^@, bit1对应^A, bit2对应^B,bit3对应^C,以此类推。当用户输入时,输入了dwWakeMask中指定的任何一个Ctrl按键,ReadConsole将返回。

  dwUnknown具体什么意义暂不清楚,最初设为0即可

  了解了ReadConsoleW的这个新功能后(其实该功能早就有了,只不过很多人不知道),那么就可以很容易地实现自动补齐了。

  以下是我给的一个简单例子:

  #include

  #include

  #include

  #include

  #include

  #define Ctrl(x) ((x) & 0x37)

  struct read_console_param

  {

  DWORD nLength;

  DWORD dwInitLen;

  DWORD dwWakeMask;

  DWORD dwUnknown;

  };

  int main (void)

  {

  HANDLE hInput, hOutput;

  WCHAR buf [0x100];

  read_console_param param;

  setlocale (LC_ALL, ".ACP");

  memset (¶m, 0, sizeof (param));

  param.nLength = sizeof (param);

  hInput = GetStdHandle (STD_INPUT_HANDLE);



察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
鎵嬫満璁块棶鍥炲埌椤堕儴