Entwickler-Ecke
Windows API - Zählen wieviele Windows Fenster geöffnet sind
seddto - So 04.04.04 17:06
Titel: Zählen wieviele Windows Fenster geöffnet sind
Hallo,
Ich möchte gerne einfach nur zählen wieviel Windows Fenster gerade geöffnet sind um das mit einem Vergleichswert zu vergleichen. Kann mir jemand sagen wie das geht?
Danke & LG Seddto
toms - So 04.04.04 17:12
Hi,
Folgender Code zählt alle Fenster, welche einen Button in der Taskleiste haben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var WinCount: Integer = 0;
function EnumWindowsProc(Wnd: HWND; lParam: lParam): BOOL; stdcall; begin Result := True; if (IsWindowVisible(Wnd) or IsIconic(wnd)) and ((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or (GetWindowLong(Wnd, GWL_HWNDPARENT) = GetDesktopWindow)) and (GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW = 0) then Inc(WinCount); end;
procedure TForm1.Button1Click(Sender: TObject); var Param: Longint; begin EnumWindows(@EnumWindowsProc, Param); ShowMessage(Inttostr(WinCount)); end; |
seddto - So 04.04.04 17:27
Danke für die schnelle Antwort. Gibt es denn auch noch eine Möglichkeit geöffnete Fenster die nicht in der Taskleiste sind zu finden?
Motzi - So 04.04.04 22:34
Einfach nur die If-Abfrage rausnehmen und das Inc(WinCount); stehen lassen..! ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!