Also ich muss nochmal korrigieren ...
mit dem "neuen" Code von dir, killt sich das Programm nicht mehr selbst, sondern bringt lediglich eine Zugriffsverletzung und das Form schließt sich, das Programm selbst bleibt offen.
Zudem hab ich mal folgendes Versucht, was nicht funktioniert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.clear;
myhandle:=findwindow(nil,'PImage');
if myhandle=0 then exit;
memo1.Lines.add('window found!');
delay(1000);
startobservation;
//eine Besipielanfrage an die newwndProc
communicate('Image2',sImageSize);
//hier oder in einer anderen Funktion können noch mehr solche Anfragen gestartet werden
delay(1000);
stopobservation;
end;
Ohne die delay Funktion würde sich das eigene Programm aufhängen, aber es kommt kein ergebnis zurück und das Ziel-Form hängt sich dann auch nicht auf, als ob irgendwie die Adressen nicht angesprochen werden.
D.h. also wenn das myhandle und startobservation im FormCreate ist funzt es, so nicht.
Was deine Frage betrifft was für eine Software das ist, kann ich nur sagen das es sich um eine Präsentationssoftware handelt.
Das die Software in Delphi programmiert ist, ist zu 100% sicher, zum einen durch die Formulare die ich in ResHack ermittelt hab und zum anderen wenn ich die Software im HexEditor anschaue steht auch Delphi drin, und das schreibt meines wissens nur Delphi rein.
Welche Version von Delphi, kann ich leider nicht sagen, du kannst schon recht haben das da ne ältere Version hinter steckt.
Da ich so langsam die Vermutung hab das die Namen die ich ermittelt hatte, zur Laufzeit vielleicht anders lauten, kann ich irgendwie eine Liste aller Elemente, also die Namen und ggf. die Klasse dazu die auf dem Form existieren auslesen? Mit den Klassen hatten wir das ja schonmal, wobei er mit der grund Version ich glaub auf Seite 1 des Threads, aufhängt bzw. Zugriffsverletzung bekommt (also eigenes Programm).
Ich glaub langsam wird kompliziert, oder?