高手请进:关于Windows控制台
TCHAR ch[50];
string strInput = "\nusers\n";
DWORD nwrt, d;
DWORD dw;
BOOL bb;
HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE);
//用WriteFile错误,报句柄无效
//BOOL b = WriteFile(hInput, strInput.c_str(), strInput.size(), &nwrt, NULL);
//用WriteConsoleInput成功,nwrt返回7
BOOL b = WriteConsoleInput(hInput, (INPUT_RECORD *)(strInput.c_str()),
strInput.size(),&nwrt);
//用WriteConsole同WriteFile
//BOOL b = WriteConsole(hInput, strInput.c_str(), strInput.size(), &nwrt, NULL);
//GetNumberOfConsoleInputEvents返回0
BOOL bb = GetNumberOfConsoleInputEvents(hInput, &dw);
//等待
BOOL bbb = ReadConsole(hInput, chrd, 50, &rd, NULL);
各位高手,为什么WriteFile就错误,是句柄没有写权限吗?
HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE);
换成
HANDLE hInput = GetStdHandle(STD_OUTPUT_HANDLE);
的话,下面的函数都能执行,能显示在控制台上
期待中~~~~~~~~~~~~~~~~~~~~~~~~~~~~`