Einzelnen Beitrag anzeigen

Asatru

Registriert seit: 30. Mai 2007
Ort: Leipzig
78 Beiträge
 
#1

FensterHandle über den Prozess ermitteln

  Alt 13. Apr 2009, 11:45
Guten Tag und frohe Ostern,

Hab mal wieder eine kleine Frage, nur leider wees ich nicht ganz wie ich sie formulieren soll. Ich habe ein Programm eben mehrmals auf dem Rechner laufen kann und besitzt auch immer ein anderen Namen. Also schätze ich mal das findwindow dann rausfällt.

Zum testen habsch folgenden Code bis jetzt

Delphi-Quellcode:
  procedure TForm1.Label1Click(Sender: TObject);
var
  handle1,handle2: HWND;
  x,y: String;
begin
  handle1 := FindWindow('wxWindowClassNR', '[123]WheresMyChar');
  handle1 := FindWindowEx(handle1, 0, 'wxWindowClassNR', 'ID_PANEL1');
  handle1 := FindWindowEx(handle1, 0, 'wxWindowClassNR', 'ID_PANEL2');
  handle1 := GetDlgItem(handle1, 532);

  handle2 := FindWindow('wxWindowClassNR', '[123]WhersMyChar');
  handle2 := FindWindowEx(handle2, 0, 'wxWindowClassNR', 'ID_PANEL1');
  handle2 := FindWindowEx(handle2, 0, 'wxWindowClassNR', 'ID_PANEL2');
  handle2 := GetDlgItem(handle2, 534);

  if handle1 and handle2 <> 0 then
  begin
    x := PCHar('x: ' + GetWinText(handle1));
    y := PCHar(' y: ' + GetWinText(handle2));
    //Hier wird Code später weitergeführt zur auflistung der Daten

  end;
end;
Dieser Test lief wunderbar. Nun möchte ich mir aber das HWND nicht anhand des Textes holen sondern anhand des Prozesses (Beschreibung) Weil dieser immer gleich ist und der Inhalt von [ und ] immer anders sein kann und er soll es solange wiederholen bis eben alle gefunden wurden.


Hoffe ihr konntet mich verstehen, was mein Vorhaben ist!
  Mit Zitat antworten Zitat