2010-12-29 21 views
3

Was ich brauche, ist eine Funktion zum Abrufen der Größe eines Elements, sei es ein Java Applet-Fenster in einem Browser, Textfelder in Programmen, Anwendungen Fenster und so weiter.Suchen Elementposition auf dem Bildschirm

Jetzt weiß ich nicht, wie diese Art von Funktion aufgerufen wird, aber ich habe ein Beispiel aus einer Anwendung hochgeladen, die diese Funktionalität hatte.

Example (The red box)

Was brauche ich in der Lage sein, um mit diesem auf dem Bildschirm bekommen seine Größe und seine Koordinaten ist. Dies muss in C++ sein.

Also jeder könnte ein Beispiel geben, oder zumindest der Name dieser Art von Funktion wäre ich dankbar.

Bearbeiten 1: - Qt-Tag entfernt, da es nicht wirklich etwas damit zu tun hat.

Ich fand ein Programm, das die Funktion hat, die ich suche: Es heißt Scar Divi, welches ein skriptfähiges Werkzeug ist, um sich wiederholende Aktionen zu machen, meistens zum Betrug in einem Spiel namens Runescape. Leider ist es eine geschlossene Quelle.

+0

Ich habe ein Beispiel von dem, was ich suche (mit Scar Divi) hochgeladen: http://www.youtube.com/watch?v=JzKxH7H6oMg es ist ein wenig schnell, aber es sollte Ihnen eine Idee geben. – FlameFurious

+0

Es gibt eine Oen Alternative zu SCAR Divi, es heißt Simba für mehr schauen Sie hier: http://wizzup.org/simba/ –

Antwort

0

I fand die Lösung!

POINT p; 
HWND wnd; 
RECT rec; 

GetCursorPos(&p); 
wnd = WindowFromPoint(p); 
GetWindowRect(wnd, &rec); 

Dies gibt Ihnen die Koordinaten für die Box (Auszug aus rec).

1

Suchen Sie nach Window Geometry oder desktop widget?

+0

Weder, hochgeladen ein Beispiel auf youtube darüber, Link unter der Frage. Es hat nicht wirklich etwas mit Qt zu tun, nachdem ich darüber nachgedacht habe. Entschuldigung für die Verwirrung. – FlameFurious

1

Nachdem ein Bild des Bildschirms bekommen (es wird in Qt somethign sein, dies zu tun)

Sie benötigen eine Bildverarbeitungs-Bibliothek wie openCV das Rechteck zu finden - suchen Sie nach „Hough Transform“

+0

Ich glaube, OpenCV wäre für meinen Zweck ein wenig übertrieben und ungenau. Ich habe meine Frage bearbeitet, kurz bevor Sie kommentiert haben, so dass Sie sie vielleicht nicht gesehen haben, also entschuldigen Sie die Verwechslung, aber nachdem ich gedacht habe, gehört Qt nicht wirklich zu den Tags, da es wirklich nichts damit zu tun hat. Aber danke für deine Eingabe. – FlameFurious

+0

Weißt du, dass es rot ist - oder war das nur ein Beispiel? Das Finden aller (möglicherweise überlappenden) Rechtecke auf einem Bildschirmbild ist eine gute Verwendung für eine Bildverarbeitungsbibliothek. –

+0

Das Bild war nur ein gemaltes Beispiel, das Video ist ein skriptfähiges Werkzeug, das die Funktion gefunden hat, nach der ich suche. Dieses Werkzeug macht es ohne ein Bild. Er bewegt den Cursor über Teile von Fenstern und findet den Zielbereich und die Koordinaten. – FlameFurious