Thema: Delphi FindWindow ? ?

Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: FindWindow ? ?

  Alt 19. Mär 2004, 14:35
Hi,

Ich habe mal ein Tutorial
darüber geschrieben.

Kurz gesagt,
besitzt jedes Fenster und Windows Control (Button, Editfeld usw) ein Handle.
Ein Handle ist eine 32-bit Zahl, (eigentlich ein Zeiger auf ein Objekt)

Wozu braucht man ein Fenster Handle?

Alle API Funktionen zum manipulieren von Fenstern verlangen ein Fenster Handle.
z.B ein Fenster verstecken, minimieren usw.

Wenn ein Fenster od. Control neu erstellt wird, wird ihm zugleich ein Fenster Handle zugewiesen.
(d.H, das Handle eines Fensters ändert sich immer)

Zusätzlich zu einem Fenster Handle
besitzt jedes Fenster einen Klassennamen und einen Fensternamen (kann auch ein leerer String sein)

Mit der FindWindow API kann man nun ein Fenster anhand seines Klassennamens, Fensternamens
(in allen Kombinationen) suchen und bekommt sein Fensterhandle zurück.

Bsp: Handle von Notepad ermitteln.

// handle zum Fenster // Klassenname von Notepad
Delphi-Quellcode:
var
    hWordWindow: HWND;
begin
  hNotepadWindow := FindWindow('notepad', nil);
end;
Wenn man nun das Handle von Notepad bekommen hat, kann man Notepad
z.B mit der ShowWindow API verstecken:

ShowWindow(hNotepadWindow, SW_HIDE);
Thomas
  Mit Zitat antworten Zitat