![]() |
Active und Inactive Fesnter Auflisten?
Hi Leute,
weiss jemand, wie ich das gerade avtie Fenster ermitteln kann? Gibts da vielleicht 'n Event? Wie bekomme ich die Liste der inaktiven Anwendungen heraus, also die, die normalerweise in der taskleiste rechts neben dem Start-button stehen? Die Aktiviere ich eine Anwendung? MFG Thomas |
Mit EnumWindows kannst du alle Fenster auflisten. Und mit IsWindowVisible kannst du alle sichtbaren rausfiltern.
Code:
[b]type[/b]
PMyEnumParam = ^TMyEnumParam; TMyEnumParam = [b]record[/b] lv: TListview; [b]end[/b]; [b]function[/b] GetWindows([b]const[/b] hWnd : Longword; Param: PMyEnumParam): LongBool; [b]stdcall[/b]; [b]var[/b] Len : Longint; S : [b]String[/b]; li: TListItem; [b]begin[/b] Result := True; [b]if[/b] [b]not[/b] ( IsWindow(hWnd) [b]and[/b] IsWindowVisible(hWnd) ) [b]then[/b] Exit; Len := SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0); [b]if[/b] Len > 0 [b]then[/b] [b]begin[/b] SetLength(S, Len); SendMessage(hWnd, WM_GETTEXT, Len + 1, Longint(Pchar(S))); li := Param.lv.Items.Add; li.Caption := s; li.SubItems.Add(IntToStr(hWnd)); [b]end[/b]; [i]// mit Result = False kann die Callbackfunktion vorzeitig verlassen werden[/i] [b]end[/b]; [b]procedure[/b] TForm1.Button1Click(Sender: TObject); [b]var[/b] Param: TMyEnumParam; [b]begin[/b] Param.lv := Listview1; EnumWindows(@GetWindows, LPARAM(@Param)); [b]end[/b]; |
Hi,
erstmal Vielen Dank an Luckie, für den Code. Der code zeigt mir aber alle fenster an, ich wollt ja nur die auf der Task-Leiste haben. Ich bin nämlich dabei eine eigene Shell zu proggen, und da muss ich ja wissen welche Fenster da sind. Das tükische ist nur, dass Delphi zum Besipiel 3 Fenster hat, die ja nicht alle auf der Task-Leiste angezeigt werden. Kann man die noch irgendwie filtern? MFG Thomas |
Taskleiste oder DNU-Leiste :?:
(DNU = Ding neben der Uhr) :mrgreen: |
Liste der Anhänge anzeigen (Anzahl: 1)
Diese Leiste Meine ich:
http://www.delphipraxis.net/attached...1031989623.jpg |
Hm, das wird schwer, wenn nicht sogar unmöglich.
Was willst du denn machen? Eventuell gibt es einen anderen gangebaren Weg. |
Ich möchte gerne eine eigene Shell Programmieren, also eine eigene Explorer.exe. Mit einer Task-Leiste....
Und für die Taskleiste muss ich ja die einträge wissen ;-) MFG Thomas |
Ach du meine Güte. :shock: Hast du schlecht geschlafen oder was?
Hm, aber sorry, da kann ich dir nicht weiterhelfen. Ich hätte noch nicht mal eine Ansatz für so etwas. |
Na, Luckie? Du müsstest es doch eigentlich wissen, immerhin hat doch Microsoft bei dir abgeschrieben? :wink:
PSDK: Indexeintrag "Taskbar Buttons, Managing" ... und lesen, Thomas! |
Ups. Hm, ist wohl nocht etwas früh. :?
Aber mir waren die Stichworte nicht geläufig. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:39 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