В следующем коде я хочу, чтобы указатель мыши находился на экране, но везде, где я перемещаю курсор, я получаю тот же результат из второй выделенной или полужирной (не уверенной) части ниже (где курсор): -1957298293 343277548. Если у кого-то есть лучший способ получить позицию курсора или исправление для моего кода, пожалуйста, помогите. (Просто, кстати, «HANDLE csbiHandle; CONSOLE_SCREEN_BUFFER_INFO CSBI;» не нужны они были использованы в моем предыдущем методе, который также не удалось.)Cursor Position C++ Метод GetCursorPos
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <cstdio>
#include <stdio.h>
#ifndef MOUSE_HWHEELED
#define MOUSE_HWHEELED 0x0008
#endif
using namespace std;
int main()
{
LPPOINT point;
HANDLE csbiHandle;
CONSOLE_SCREEN_BUFFER_INFO csbi;
int counter = 0;
DWORD cNumRead, i,fdwMode, fdwSaveOldMode;
INPUT_RECORD irInputBuffer[128];
HANDLE stdHandle;
stdHandle = GetStdHandle(STD_INPUT_HANDLE);
MOUSE_EVENT_RECORD mer;
cout << "|-------------|" << endl
<< "| A |" << endl
<< "|-------------|" << endl;
while(counter++<1000)
{
buttonpress:
ReadConsoleInput(stdHandle, irInputBuffer,128, &cNumRead);
**GetCursorPos(point);**
for(i=0; i<cNumRead; i++)
{
switch(irInputBuffer[i].EventType)
{
case MOUSE_EVENT:
{
mer = irInputBuffer[i].Event.MouseEvent;
if(mer.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED)
{
cout << "left button press" << endl;
**cout << point->x << " " << point->y << endl;**
}
else
{
goto buttonpress;
}
break;
}
default:{
printf("unknown\n");
break;}
}
}
}
return 0;
}
Хорошо спасибо. Оба эти метода имеют смысл и работают. Я просто пойду первым, потому что это быстрее. – someguy