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 aktive Programme in Liste schreiben? (https://www.delphipraxis.net/16575-aktive-programme-liste-schreiben.html)

DiscMix 19. Feb 2004 14:34


aktive Programme in Liste schreiben?
 
Hallo community,

wie kann ich die aktiven/offenen Programme erkennen / auslesen und in einer Liste speichern?
Interessant ist dies auch für die Programme in der TNA.

Danke
Marco

Markus K. 19. Feb 2004 15:01

Re: aktive Programme in Liste schreiben?
 
Hallo,
mit folgender Funktion hatte ich damals versucht nen TaskManager "nachzubauen".

Delphi-Quellcode:
function EnumWindowsProc (Wnd: HWND; LParam: LPARAM): BOOL; stdcall;
var Bezeichnung : Array[0..200] of Char;
begin
  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 begin
      GetWindowText(Wnd, Bezeichnung, 256);
     with Form1.ListView1.Items.Add do caption := Bezeichnung;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  ListView1.Items.Clear;
  EnumWindows(@EnumWindowsProc, 1);
end;
Hoffe das es dir weiterhilft!

DiscMix 19. Feb 2004 17:10

Re: aktive Programme in Liste schreiben?
 
Danke, ich werd's mal probieren und gebe Bescheid.

Luckie 19. Feb 2004 17:24

Re: aktive Programme in Liste schreiben?
 
Da fehlt aber noch die PSAPI, die eingebunden wird. Hier http://delphidemos.luckie-online.de findest du Demos zu EnumProcesses und CreateToolHelp32Snapshot.


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