26. november 2000 - 20:33
Der er
5 kommentarer og
1 løsning
Win proceslist
Hej !
Jeg leder efter en måde hvorpå jeg kan få en liste over alle kørende processer ind i en TListView. Jeg har 4 informationer jeg skal bruge, titel på processen ( caption på mainform ), filen processen køres fra, denne fils ikon, og programmets handle. Det er sådant set mest hvordan jeg får fat i disse informationer, jeg er i stand til selv at tilføje dem til TListView\'en... Et svar der kun giver mig de processer der ligger i systemets tray + dem der ses i taskbaren er fuldstændig acceptabelt.......
På forhånd tak og med venlig hilsen
Ulrik Jensen
ulrik@qcom.dk
26. november 2000 - 23:32
#2
med den her får du en liste over alle aktive programmer, kørende i win95/98.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
PFindWindowStruct = ^TFindWindowStruct;
TFindWindowStruct = record
Caption : string;
ClassName : string;
WindowHandle : THandle;
end;
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure EnumWindowsProc(hWindow : hWnd;
lParam : LongInt);
{$IFDEF Win32} stdcall; {$ELSE} ; export; {$ENDIF}
var
lpBuffer : PChar;
begin
GetMem(lpBuffer, 255);
try
if GetWindowText(hWindow, lpBuffer, 255) > 0 then
Form1.ListBox1.Items.Add(lpBuffer);
finally
FreeMem(lpBuffer, sizeof(lpBuffer^));
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
WindowInfo : TFindWindowStruct;
begin
EnumWindows(@EnumWindowsProc, LongInt(@WindowInfo));
end;
end.
26. november 2000 - 23:37
#3
tak, skal til og i køjs, men tjekker det/accepterer imorgen !!!
Med venlig hilsen
Ulrik Jensen
ulrik@qcom.dk