Computer Tech

Full Version: Finding the Coordinates in a Console
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Here's a way to get the x and y values of your mouse in a console. It's neat to try, so compile it!

[code]
#include <windows.h>
#include <iostream>

int main()
{
HANDLE in;
HANDLE out;
COORD Mouse;

Mouse.X = 30;
Mouse.Y = 20;

DWORD EventCount;
int LoopCount = 0;
int KeyEvents = 0;
INPUT_RECORD rec;
DWORD NumRead;

in = GetStdHandle(STD_INPUT_HANDLE);
out = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),13);
std::cout <<"\nMouse is at : " << "\n";

for(;Wink
{
Sleep(10);

GetNumberOfConsoleInputEvents(in,&EventCount);
while (EventCount > 0)
{
ReadConsoleInput(in,&rec,1,&NumRead);

if (rec.EventType == MOUSE_EVENT)
{

if (rec.Event.MouseEvent.dwEventFlags == MOUSE_MOVED)
{
SetConsoleCursorPosition(out,Mouse);
std::cout << rec.Event.MouseEvent.dwMousePosition.X << "," <<
rec.Event.MouseEvent.dwMousePosition.Y << " " << std::flush;
}
}

GetNumberOfConsoleInputEvents(in,&EventCount);
}
}

return 0;
}
[/code]
Is there any reason you use for(;;[b][/b]) instead of while(true)?
It's personal preference. They both should loop forever, so it doesn't matter what you choose.