WINAPI - altes PRG überwachen

17/11/2008 - 09:34 von Gibson | Report spam
Hallo zusammen,

ich möchte ein altes Programm überwachen, welches langwierige,
komplexe Berechnungen ausführt.
Dabei werden Voreinstellungen in dem Hauptfenster vorgenommen,
Protokollausgaben erfolgen in einem 2. Fenster. Leider liegt der Code
für das Programm nicht mehr vor.
Damit man nicht dauernd das Protokoll im Auge behalten muss, möchte
ich, dass das ein Programm übernimmt.
Je nach Protokoll soll auch direkt der Abbrechen-Button im
Hauptfenster betàtigt werden.
Die WinAPI scheint mir da das rechte Werkzeug, allerdings erschliesst
sich mir da nicht so wirklich, zumal wir mittlerweile vollstàndig auf
Java umgestiegen sind. Die Bibliothek JNative scheint aber ganz gut zu
funktionieren.
Ich komme mittels "FindWindow" an die beiden Fenster. Klappt soweit,
auch wenn ich dabei den WindowTitle eingeben muss. Mit
"EnumChildWindows" komme ich an die Controls auf dem Fenster, weiss
aber nicht wirklich wie das Protokoll-Element heisst bzw. wie der
Abbrechen-Button heisst.
Toll fànde ich es, wenn mein Programm wartet (sagen wir 5 Sekunden)
bis ich das Fenster und mein Control fokusiert habe und sich die
entsprechenden Handles dann selber ermittelt. Ist sowas machbar? Wenn
ja, wie?


Vielen Dank schon mal.
Beste Grüsse
 

Lesen sie die antworten

#1 Volker Birk
17/11/2008 - 14:06 | Warnen spam
Gibson wrote:
Ich komme mittels "FindWindow" an die beiden Fenster. Klappt soweit,
auch wenn ich dabei den WindowTitle eingeben muss. Mit
"EnumChildWindows" komme ich an die Controls auf dem Fenster, weiss
aber nicht wirklich wie das Protokoll-Element heisst bzw. wie der
Abbrechen-Button heisst.



Das kannst Du mit dem Programm "SpyXX" von Microsoft rausfinden. Dann
programmierst Du am besten einen Hook auf das Fenster, das die
WM_SETTEXT Nachrichten bekommt, und schreibst so mit.

Das allerdings in Java zu machen, ist eher ungewöhnlich - ich würd's in
C oder C++ machen, dort geht's nicht schwer.

Viele Grüsse,
VB.
"Den Rechtsstaat macht aus, dass Unschuldige wieder frei kommen."

Dr. Wolfgang Schàuble, Bundesinnenminister

Ähnliche fragen