Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Nur sichtbare Fenster auflisten (https://www.delphipraxis.net/81832-nur-sichtbare-fenster-auflisten.html)

Namenloser 4. Dez 2006 16:35


Nur sichtbare Fenster auflisten
 
Ich habe diesen Code für das Auflisten alle Fenster gefunden. Jedoch werden da auch lauter nicht sichtbare Fenster bzw. Controls aufgelistet. Ich möchte aber nur Fenster auflisten, die beispielsweise in der Taskleiste angezeigt werden. So, wie das bei den meisten Programmen zum Screenshot-erstellen möglich ist.

Ich möchte ein kleines Programm schreiben, das den Inhalt von einem bestimmten Fenster aufzeichnet.


PS: ich hab gerade in einem anderen Thread etwas von ws_visible gelesen, aber leider bin ich absoluter n00b in sachen api :pale:

Ydobon 4. Dez 2006 16:57

Re: Nur sichtbare Fenster auflisten
 
Du kannst einfach mit der Funktion IsWindowVisible feststellen, ob das Fenster sichtbar ist.

Namenloser 4. Dez 2006 17:01

Re: Nur sichtbare Fenster auflisten
 
Thx, habs hingekriegt.

Delphi-Quellcode:
function EnumWinProc(Wnd: THandle; LParam: LongInt): Boolean; stdcall;
var
 WinCaption : string;
 Len: integer;
begin
 Result := True;
 Len := GetWindowTextLength(Wnd);
 SetLength(WinCaption, Len);
 GetWindowText(Wnd, PChar(WinCaption), Len+1);
 if (Trim(WinCaption) <> '') and (iswindowvisible(wnd)) then
   Form3.Listbox1.Items.Add(Format('%.6x : %s', [Wnd, WinCaption]));
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 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