如题,打算随便搞个程序。
我家用的是 Windows 10 系统,C++(C++98)。
示例程序如下:
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
// 移除快速编辑模式和插入模式,使程序可以接收鼠标输入
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode;
GetConsoleMode(hStdin, &mode);
mode &= ~ENABLE_QUICK_EDIT_MODE;
mode &= ~ENABLE_INSERT_MODE;
SetConsoleMode(hStdin, mode);
// 若干代码,中有一行
system("color f0");
// 接收鼠标输入
HANDLE hin = GetStdHandle(STD_INPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO bInfo;
INPUT_RECORD rec;
DWORD res;
while(1)
{
ReadConsoleInput(hin, &rec, 1, &res);
if(rec.EventType == MOUSE_EVENT)
{
switch (rec.Event.MouseEvent.dwButtonState)
{
case FROM_LEFT_1ST_BUTTON_PRESSED: // 按下左键
cout << "# ";
break;
case RIGHTMOST_BUTTON_PRESSED: // 按下右键
cout << "* ";
break;
}
}
}
return 0;
}
先注释掉 system("color f0");
并编译运行程序,等待数秒后按下鼠标,会出现符号提示。
然后取消注释并再次编译运行程序,等待数秒后按下鼠标,无任何反应发生。
有人能告诉我是为什么吗?