Entwickler-Ecke

Windows API - Wie kann ich prüfen ob Fenster mit dem Handle existiert?


Hein Blöd - Do 09.06.05 15:47
Titel: Wie kann ich prüfen ob Fenster mit dem Handle existiert?
Ich hab das Handle des Fensters und möchte alle paar Sekunden prüfen ob es immer noch da ist. Wie kann ich das prüfen?


F34r0fTh3D4rk - Do 09.06.05 17:10

wenn das handle <> 0 ist dann ist es noch da, sonst net, wenn du es zB mit findwindow suchst:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
function IsHandleActive(Handle: HWND): boolean;
var
  buf: Array[0..1024of char;
  str: string;
begin
  result := false;
  windows.GetWindowText(handle, @buf, sizeof(buf));
  str := buf;
  if findwindow(nil, pchar(str)) <> 0 then
    result := true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsHandleActive(Form1.Handle) then
    showmessage('Is Active!');
end;


geht aber bestimmt auch einfacher :lol:


toms - Do 09.06.05 17:20

genau, es geht einfacher mit IsWindow

Zitat:
The IsWindow function determines whether the specified window handle identifies an existing window.

BOOL IsWindow(

HWND hWnd // handle of window
);


F34r0fTh3D4rk - Do 09.06.05 20:15

stimmt so hieß das teil :lol:


Hein Blöd - Do 09.06.05 22:18

Danke für die Antworten.