![]() |
Herausfinden ob ein Fenster einen Taskbareintrag hat
Hallo alle zusammen!
Ich wüsste gern, ob es eine Möglichkeit gibt, mit dem Handle eines fremden Fensters herauszufinden, ob dieses Fenster einen sichtbaren Taskbareintrag hat. Viele Grüße Daniel |
Re: Herausfinden ob ein Fenster einen Taskbareintrag hat
Hi,
das könnte man so machen
Delphi-Quellcode:
ist leider auch nicht zu 100% sicher ob es sich wirklich um einen sichtbaren Taskbareintrag handelt.
function EnumWin(hWnd: THandle; FindHwnd: PCardinal): Boolean; stdcall;
begin Result := True; if (FindHwnd^ = hWnd) and IsWindowVisible(hWnd) and not boolean(GetWindowLong(hWnd, GWL_HWNDPARENT)) then result := false; end; procedure TForm1.Button1Click(Sender: TObject); var FindWin: HWnd; begin FindWin:= ...; if not EnumWindows(@EnumWin, integer(@FindWin)) then ShowMessage('sichtbarer Taskbareintrag'); end; |
Re: Herausfinden ob ein Fenster einen Taskbareintrag hat
ist klar das es nicht sicher ist weil hier gar nicht der windowstyle geprüft wird (toolwindow etc.)
|
Re: Herausfinden ob ein Fenster einen Taskbareintrag hat
Delphi-Quellcode:
Das ganze sollte alle möglichkeiten erschlagen :)
function EnumWindowsProc(Wnd: HWND; LParam: LPARAM): BOOL; stdcall;
begin if (GetWindowLong(Wnd, GWL_STYLE) and WS_SYSMENU <> 0) and ((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 begin // fenster hat Taskbar Eintrag... end; result := True; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz