![]() |
laufende Tasks
ich möchte die Anwendungen (also die die ein sichtbares Fenster haben und im Taskmanager angezeigt werden) ermitteln. Ich habe code hier aus dem Forum um alle Processe zu ermitteln. Aber nach welchen Kriterien kann ich jetzt die Prozesse ausfiltern die im Taskmanager und im zeiten Fall als Symbol im Systray zu sehen sind? Das ganze soll nur unter Windows 2000/XP funzen.
Gibts da ProzessID's die für sichtbare Applicationen/ oder im Systray stehen? |
Re: laufende Tasks
Delphi-Quellcode:
Ich glaube, das sollte ausreichen. :mrgreen:
function Getwin(Handle: THandle; List: TStringList): boolean; stdcall;
var Buffer : array[0..255] of Char; begin //get the window caption SendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0])); List.Add(Buffer); //continue enumeration Result :=True; end; procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Clear; EnumWindows(@Getwin, LParam(ListBox1.Items)); end; |
Re: laufende Tasks
durch diese Funktion werden aber nicht nur die Anwendungen aus der Taskbar gefunden sondern auch eine ganze Menge anderer unsichtbarer Fenster.
|
Re: laufende Tasks
Delphi-Quellcode:
Das könnte eine schnelle Lösung sein.
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) <> '' then Form1.Listbox1.Items.Add(Format('%.6x : %s', [Wnd, WinCaption])); end; procedure TForm1.Button1Click(Sender: TObject); begin EnumWindows(@EnumWinProc, 0); end; |
Re: laufende Tasks
Liste der Anhänge anzeigen (Anzahl: 1)
komisch der angegebene Code liefert bei mir das in dem Bild gezeigte Ergebnis. Wieso bekomme ich immer alle Fenster angezeigt
|
Re: laufende Tasks
Warum alle Fenster?
Alles was ein Handle (typ HWND) und keine leere Caption besizt wird angezeigt, egal sichtbar oder nicht. Zitat:
|
Re: laufende Tasks
Zitat:
|
Re: laufende Tasks
ja, aber mit welcher Funktion kann ich nun nur die in der Taskbar sichtbaren Applicationen ermitteln?
|
Re: laufende Tasks
Wenn ich verstehe was du meinst dann ist das ,dass richtige für dich
![]() Mfg ReDoX |
Re: laufende Tasks
Danke für den Link, das ist genau das was ich gesucht habe :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 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 by Thomas Breitkreuz