funkcja GetCursorPos problem
Ostatnio zmodyfikowano 2015-05-07 00:23
krzaku Temat założony przez niniejszego użytkownika |
funkcja GetCursorPos problem » 2015-05-06 20:26:52 Witam, napisałem program, który pokazuje współrzędne i kolor piksela wskazywanego kursorem, a raczej miał pokazywać. Problem polega na tym że współrzędne są nieprawidłowe. Mam rozdzielczość ekranu 1920x1080, a program pokazuje wartości do 1525x863. Jakieś pomysły?
|
|
Monika90 |
» 2015-05-06 20:45:00 Może spróbuj użyć funkcji GetPhysicalCursorPos |
|
michal11 |
» 2015-05-06 23:08:42 Możliwe też, że pobierasz pozycję kursora względem czegoś, pokaż kod. |
|
krzaku Temat założony przez niniejszego użytkownika |
» 2015-05-07 00:23:11 #include <iostream> #include <windows.h> using namespace std; main() { int p; for(p=0; p<1000; p++) { system("cls");
POINT P; GetCursorPos( & P ); P.x; P.y; HWND hwnd = GetDesktopWindow(); HDC hdc = GetDC( hwnd ); COLORREF kolor = GetPixel( hdc, P.x, P.y );
int r, g, b;
r = GetRValue( kolor ); g = GetGValue( kolor ); b = GetBValue( kolor ); cout << r << ", " << g << ", " << b << ". kursor: " << P.x << "; " << P.y;
Sleep( 2000 ); }; }
jako ze do dalszej rozbudowy programu wystarczy mi przybliżony kolor to przemnożyłem sobie po prostu P.x i P.y przez 1.25 ale chętnie się dowiem co źle zrobiłem, szczególnie, że w winapi jeszcze nawet nie raczkuje :) znalazłem też jakiś gotowy podobny program i mam ten sam problem. Jutro sprawdzę GetPhysicalCursorPos |
|
« 1 » |