Entwickler-Ecke

Windows API - Fenster Handle suchen anhand von EXE und...


Blackout - Fr 11.04.03 18:54
Titel: Fenster Handle suchen anhand von EXE und...
Hi leute,
ich probier schon seit heut morgen herum und schaff das nich. Ich Versuche ein Fenster (z.B.: Notepad) anhand der ausgewählten EXE-Datei zufinden. Dies klappt wunderbar aber ich möchte dazu noch die Überschrift des Notepads haben. Und das bekomme ich ned hin :cry:

Notepad anhand der EXE-Datei bekomme ich so:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
Uses TlHelp32;

{...}

Procedure FindWindow;

Var
  Proc: PROCESSENTRY32;
  HSnap: HWND;
  Looper: BOOL;

Begin

  Proc.dwSize:= SizeOf(Proc);
  HSnap:= CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0); 
  Looper:= Process32First(HSnap, Proc); 
  While Integer(Looper)<> 0 Do
    Begin
      If ExtractFileName(Proc.szExeFile)= 'notepad.exe' then //Beispiel
        Begin
          ShowMessage('"notepad.exe" gefunden!');
          // Will aber noch die Überschrift
          Break;
        End
      Else
        Looper:= Process32Next(HSnap, Proc); 
    End;
  CloseHandle(HSnap);

End;


Ich hoffe jemand kann mir helfen :wink:


Delete - Fr 11.04.03 20:26

Such dir alle Fenster mit EnumWindows, hol dir von allen Fenster die Caption mit GetWindowText und kuck, ob irgendwo "Editor" auftaucht.


Blackout - Fr 11.04.03 21:37

Ja das klappt aber "NotePad" war nur ein Beispiel und Programme die als SystemIcon Minimiert sind (z.B. Winamp) bekomme ich nicht mit EnumWindows.

Ich möchte nur den Fenstertitel bekommen wovon ich die EXE-Datei habe.
(z.B.: Notepad.exe -> Überschrift vom ToplevelFenster)

Das mit dem Systemicon stimmt glaube ich nicht wenn ich mir das jetzt hier so gerade angucke dennoch ich bekomms nicht hin. Hab schon überall nach hilfen geguckt aber nichts