Witam, posiadam program skanujący przeglądarkę w linii prostej w poszukiwaniu zmian, jednak po czasie funkcja GetPixel zwraca błędny odczyt i już nie wiem co mogę zrobić
błędny odczyt jest po około 15-20min i po tym czasie za każdym razem zwraca kolor czarny (0 0 0)
funkcja odczytująca kolor:
string g_BOT::getpixel(int x, int y)
{
HDC hdc = GetDC( HWND_DESKTOP );
COLORREF Kolor = GetPixel( hdc, x, y );
int r, g, b;
r=GetRValue(Kolor);
g=GetGValue(Kolor);
b=GetBValue(Kolor);
string ret = to_string(r);
ret += " ";
ret += to_string(g);
ret += " ";
ret += to_string(b);
return ret;
}
funkcja wywołująca ww. funckcje
string g_BOT::logoPosition()
{
for(int i = 0; i < lenght; i++)
{
actualColor = getpixel(logox,(int)(downy-(30*i)));
dontSleepMouse((int)(downy-(30*i)));
if( actualColor != whiteboard)
{
lastLogoPosition = (int)(downy-(30*i));
string mes = actualColor;
mes += " ";
mes += to_string((int)(downy-(30*i)));
cout << mes << endl;
return mes;
}
}
}
czy jest możliwe że problem leży nie po stronie kodu a po stronie komputera (testowane na 2 komputerach i błąd występuje w różnym czasie )