Pixelfarbe am schnellsten erhalten?

8

Ich versuche, einen Auto-Cliker für eine Windows-App zu machen. 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:

%Vor%

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

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

Könnten Sie mir bitte helfen?

Danke.

    
Manitoba 09.05.2012, 12:00
quelle

2 Antworten

11

Ich habe einen perfekten Weg gefunden, der deutlich schneller ist als der GetPixel:

%Vor%

Ich hoffe, das könnte jemand anderem helfen.

    
Manitoba 09.05.2012, 12:59
quelle
1

Die einfache Antwort ist, dass, wenn dies die Methode ist, auf der Sie bestehen, dann gibt es nicht viel zu optimieren. Wie andere in Kommentaren hervorgehoben haben, sollten Sie wahrscheinlich eine andere Methode verwenden, um den zu klickenden Bereich zu lokalisieren. Sehen Sie sich zum Beispiel FindWindow an.

Wenn Sie Ihre Methode nicht ändern wollen, dann schlafen Sie Ihren Thread nach jedem vollständigen Screen-Scan zumindest ein wenig.

    
korona 09.05.2012 12:56
quelle

Tags und Links