home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2004 February
/
Chip_2004-02_cd1.bin
/
zkuste
/
konfig
/
download
/
msic
/
Help
/
Int
/
MSI_Processes.int
< prev
next >
Wrap
Text File
|
2003-08-26
|
2KB
|
92 lines
{*******************************************************}
{ }
{ MiTeC System Information Component }
{ Process Enumeration Part }
{ version 8.3 for Delphi 5,6,7 }
{ }
{ Copyright ⌐ 1997,2003 Michal Mutl }
{ }
{*******************************************************}
{$INCLUDE MITEC_DEF.INC}
unit MSI_Processes;
interface
uses
SysUtils, Windows, Classes, MiTeC_Native;
type
TThreadInfo = record
end;
TThreadList = array of TThreadInfo;
TModuleInfo = record
end;
TModuleList = array of TModuleInfo;
THeapBlockInfo = record
end;
THeapBlockList = array of THeapBlockInfo;
THeapListInfo = record
HeapBlocks: THeapBlockList;
end;
THeapListList = array of THeapListInfo;
TProcessInfo = record
PID :DWORD;
Name,
ImageName: shortstring;
Priority,
Usage,
ParentPID,
ThreadCount,
HeapID,
ModuleID: DWORD;
CreateTime: LARGE_INTEGER;
LastUserTime,UserTime: LARGE_INTEGER;
LastKernelTime,KernelTime: LARGE_INTEGER;
VMCounters: TVMCounters;
IOCounters: TIOCounters;
HeapLists: THeapListList;
Modules: TModuleList;
Threads :TThreadList;
end;
TProcList = array of TProcessInfo;
TProcessList = class(TPersistent)
private
FPL: TProcList;
function GetProcessCount: integer;
function GetProcess(Index: DWORD): TProcessInfo;
procedure FreeProcessList;
procedure ClearProcessInfo(var ARecord: TProcessInfo);
public
constructor Create;
destructor Destroy; override;
procedure GetInfo;
procedure Report(var sl: TStringList; Standalone: Boolean = True); virtual;
function FindProcess(APID: DWORD): Integer;
property Processes[Index: DWORD]: TProcessInfo read GetProcess;
property ProcessCount: integer read GetProcessCount stored False;
published
end;
resourcestring
rsSystemIdle = '[System Idle Process]';
implementation