Pixelfarbe am schnellsten erhalten?

Ich versuche, einen Auto-Cliker für eine Windows-App zu erstellen. Es funktioniert gut, aber es ist unglaublich langsam! Ich verwende derzeit die Methode "getPixel", die ein Array jedes Mal neu lädt, wenn es aufgerufen wird.

Hier ist mein aktueller Code:

<code>hdc = GetDC(HWND_DESKTOP);
bx = GetSystemMetrics(SM_CXSCREEN);
by = GetSystemMetrics(SM_CYSCREEN);
start_bx = (bx/2) - (MAX_WIDTH/2);
start_by = (by/2) - (MAX_HEIGHT/2);
end_bx = (bx/2) + (MAX_WIDTH/2);
end_by = (by/2) + (MAX_HEIGHT/2);

for(y=start_by; y<end_by; y+=10)
{   
    for(x=start_bx; x<end_bx; x+=10)
    {
        pixel = GetPixel(*hdc, x, y);
        if(pixel==RGB(255, 0, 0))
        {
            SetCursorPos(x,y);
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
            Sleep(50);
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            Sleep(25);
        }
    }
}
</code>

Im Grunde genommen scannt es nur einen Pixelbereich auf dem Bildschirm und startet ein Mausereignis, wenn es eine rote Taste erkennt.

Ich weiß, dass es andere Möglichkeiten gibt, um die Pixelfarbe zu erhalten, wie zum Beispiel bitblt. Aber ich habe ein paar Nachforschungen angestellt und verstehe nicht, wie ich vorgehen soll, um ein Farbarray zu scannen. Ich brauche etwas, das den Bildschirm sehr schnell scannt, um den Knopf zu fangen.

Kannst du mir bitte Helfen?

Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage