Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Grafische Auswertung eines Vordergrund Programmes (https://www.delphipraxis.net/106939-grafische-auswertung-eines-vordergrund-programmes.html)

andre_ 19. Jan 2008 11:13


Grafische Auswertung eines Vordergrund Programmes
 
Guten Tag.

Ich benötige mal den Rat von einigen erfahrenen Delphi Nutzern zu einem Projekt.

Ich hatte im Studium Kontakt mit Delphi. Dabei handelte es sich allerdings nur um Grundlagen.

Ich möchte nun mit Delphi eine Art Makro schreiben, bei dem das Makro im Hintergrund läuft. Das Makro soll das Programm, welches im Fordergrund läuft, graphisch auswerten indem es ausgewählte Bereiche des "Vordergrund Programmes" (VP) mit Inhalten von bereits abgespeicherten Grafikdateien vergleicht. Bei der Erfüllung bestimmter Bedingungen (Übereinstimmung mit den vohandenen Grafiken - ja oder nein) sollen Mausklicks und Tastatureingaben gesteuert werden.
Ebenso soll die Möglichkeit bestehen, für das fertige Makro über das Internet Nutzungsberechtigungen auszugeben. So das nur registrierte Nutzer nach Eingabe eines Lizenzschlüssels das Makro nutzen können. Es soll auch nur eine Version mit dem gleichen Lizenz-Schlüssel zur gleichen Zeit betrieben werden dürfen.


Zur Auswertung der Grafiken würde ich dazu folgende Dinge geschehen lassen:

1. Delphi macht einen Screenschot vom VP und speichert diesen ab.
2. Bestimmte Pixelbereiche des Screenshots werden in Felder vom Typ array(m,n) umgewandelt.
3. Bestimmte Pixelbereiche der vorhandenen Grafikdateien werden ebenso in Felder vom Typ array(m,n) umgewandelt.
4. Beide Felder werden miteinander verglichen.
5. Je nach Ergebnis würden über eine "if" Schleife bestimmte Tastatur- oder Mauseingaben folgen.

Nun meine Fragen:
-Ist es möglich mit Delphi das gewünschte Makro zu schreiben?
-Ist mein Lösungsansatz zu gebrauchen oder bin ich auf dem Holzweg?
-Gibt es Alternativen zu Delphi, mit denen es viel einfacher wäre, mein Ziel zu realisieren (Ich vermute, das es mit Microsoft Visual Studio auch gehen würde)?
-Was habt Ihr für Empfehlungen für mich wie ich heran gehen sollte? Wit welchen Themen muß ich mich beschäftigen? Datenbanken etc. Ich weiß wirklich nicht was man das braucht :coder2:

Ich möchte mir gerne alles dazu selber aneignen. Keiner soll mir Quellcode, den ich dazu brauche vorsingen. Ich bin also hocherfreut, :drunken: wenn mir jemand z.B. Literaturquellen oder Links nennen kann, die mir weiterhelfen können.

MfG, der Andre

Larsi 19. Jan 2008 13:31

Re: Grafische Auswertung eines Vordergrund Programmes
 
Also erstmal ein herzliches Willkommen in der DP :dP:

zu deiner frage:
du könntest ein ganz kleines programm im tray schreiben dass dann alle deine vorgaben erfüllt. dass kann ja dann den focus des gerade zu sehenden fensters bekommen. wie du einen screenshot machst: einfach mal nach screenshot machen delphi suchen :) sry wenn ich das jez falsch verstanden habe und du was ganz anderes machen wolltest :)


MFG und noch einen schönen Tag Euch allen Lars Wiltfang

andre_ 19. Jan 2008 17:30

Re: Grafische Auswertung eines Vordergrund Programmes
 
Also das Makro soll nach Starten des eigentlichen Vollbild Programms im Hintergrund laufen, und seine Funktion z.b. über Hotkey aktiviert werden. Das zu manipolierende Programm kann nicht im Fensterbetrieb betrieben werden. Alternativ könnte man das Makro auch mit einem Timer aktivieren.

D.H. : Man stellt beim Makro in einem EDITFELD Textfeld einfach 20sec. ein. Drückt auf "Start", und geht dann mit ALT+TAB oder Taskleiste in das Programm. Das Stoppen des Makros würde ich durch ein Aufaddieren der Anzahl der erfüllten Bedingungen realisieren. Da der Maximalwert dieser Anzahl im Vorraus fest steht.

Diese Methode halte ich vorerst für einfacher. Da ich den Timer schon mal genutzt habe.
Zum Thema Hotkey habe ich schon mal gesucht. Da bin ich auf den Begriff "systemweiter hotkey" gestoßen. Habe mir auch schon Quellcode dazu angesehen. Der sah mir aber sehr kompliziert aus. Deshalb will ich gerne aud den einfacheren TIMER ausweichen.

Gibt es einem Performance Unterschied zwischen Fenster-Makro und Tray Makro? Der auszuwertende Bereich ist ca. 20x150 Pixel groß.

Nach jetztigem Kenntnisstand halte ich eine Tray Variante für aufwendiger. Das würde ich dann als Kür machen, wenn alles andere funktioniert. Obwohl es eine interessante Anregung darstellt.

MfG

Dani 19. Jan 2008 17:51

Re: Grafische Auswertung eines Vordergrund Programmes
 
Klingt interessant, kann man sich das schon irgendwo vorbestellen?

andre_ 20. Jan 2008 19:22

Re: Grafische Auswertung eines Vordergrund Programmes
 
Also das mit dem Vorbestellen ist gut. Ich bin erst mal froh, wenn ich das umgesetzt bekomme. Mir dient das ganze erstmal als sinnvolle Aufgabe für die Semesterferien, zum Lernen und zum Spass haben.

Aber was würdest Du denn damit anfangen?

DGL-luke 20. Jan 2008 20:13

Re: Grafische Auswertung eines Vordergrund Programmes
 
MSDN-Library durchsuchenDirectInput - damit kann man fürchte ich nur echte geräte auslesen
[msdn]WM_KEY*[/msdn] - damit kann man schonmal keymessages verschicken, aber nur auf systemen < Vista
Hier im Forum suchenHID - ich weiß leider nicht, ob es inzwischen ne Lösung gibt, um HID zu emulieren.

Du könntest dich außerdem mal über Bei Google suchenAutoIt informieren.

andre_ 25. Jan 2008 20:08

Re: Grafische Auswertung eines Vordergrund Programmes
 
Danke erstmal für das Input. In den nächsten Tagen werde ich mich mal damit ausseinandersetzen.

MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz