你可以用它在控制台上设置winmouse位置,并清除某些内容或其他内容:
#include //for : GetClientRect , COORD, GetConsoleWindow, GetStdHandle,...
COORD coord = { 0, 0 }, xy = { 0,1 };
while (1)
{
HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
POINT pt;
GetCursorPos(&pt);
HWND hwnd = GetConsoleWindow();
RECT rc;
GetClientRect(hwnd, &rc);
ScreenToClient(hwnd, &pt);
CONSOLE_SCREEN_BUFFER_INFO inf;
GetConsoleScreenBufferInfo(hout, &inf);
coord.X = MulDiv(pt.x, inf.srWindow.Right, rc.right);
coord.Y = MulDiv(pt.y, inf.srWindow.Bottom, rc.bottom);
if (coord.X != xy.X || coord.Y != xy.Y)
{
SetConsoleCursorPosition(hout, coord);
cout << " ";
xy.X = coord.X;
xy.Y = coord.Y;
}
}
甚至你也可以通过gotoxy手动设置:
#include //for coord
BOOL gotoxy(WORD x, WORD y)
{
COORD xy;
xy.X = x;
xy.Y = y;
return SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), xy);
}
cout<