У нас вы можете посмотреть бесплатно How to : Process viewer component или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Process viewer component A Component that shows all running processes, not only on WinNT but also on windows 98/95 ! A Component that shows all running processes, not only on WinNT but also on windows 98/95 ! It also has a public method calld KillSelectedProcess, I guess you can figure out what it does... It has saved me a lot of trouble and saved me a lot of needs to reboot my system on my windows98 machine... well, here's the source for it : What you will have to do is make a new unit, copy this text in it and save the unit as ggProcessViewer. Then you can install in into your component pallet by using the delphi main menu, Component/Install Component... Have a lot of fun... unit ggProcessViewer; interface uses Windows, SysUtils, Classes, Controls, Grids, ExtCtrls, messages, tlHelp32, Dialogs; type //NT Functions for getting the process information : TEnumProcesses = function(lpidProcess: LPDWORD; cb: DWORD; var cbNeeded: DWORD): BOOL; StdCall; //external cPSAPIDLL; TGetModuleBaseNameA = function(hProcess: THandle; hModule: HMODULE; lpBaseName: PAnsiChar; nSize: DWORD): DWORD; StdCall; //external cPSAPIDLL; TGetModuleFileNameExA = function(hProcess: THandle; hModule: HMODULE; lpFilename: PAnsiChar; nSize: DWORD): DWORD; StdCall; //external cPSAPIDLL; TEnumProcessModules = function (hProcess: THandle; lphModule: LPDWORD; cb: DWORD; var lpcbNeeded: DWORD): BOOL; StdCall; //external cPSAPIDLL; TPByte = ^TByte; TByte = array[0..0] of byte; ThackWinControl = class(TWinControl) public property Text; end; ThackGraphicControl = class(TGraphicControl) public property Caption; end; TProcessTimeType = (ptCreationTime, ptExitTime, ptKernelTime, ptUserTime, ptCPUTime); TAfterRefreshProcesses = procedure(Sender: TObject) of object; TBeforeRefreshProcesses = procedure(Sender: TObject) of object; TggProcessViewer = class(TStringGrid) private FProcessCount : integer; FAutoRefresh : boolean; FAfterRefreshProcesses : TAfterRefreshProcesses; FBeforeRefreshProcesses : TBeforeRefreshProcesses; RefreshTimer : TTimer; procedure InitGridForNT; procedure Getprocesses; procedure GetProcessesOnNT; function SetProcessCount: integer; procedure GetProcessCount(const Value: integer); procedure GetTheProcessTimes(PID: integer); procedure SetAutoRefresh(const Value: boolean); procedure TimerAutoRefresh(Sender: TObject); procedure InitGridForWinXX; procedure GetProcessesOnWinXX; protected //Adress holders of the procedures for NT EnumProcesses : TEnumProcesses; GetModuleBaseNameA : TGetModuleBaseNameA; GetModuleFileNameExA : TGetModuleFileNameExA; EnumProcessModules : TEnumProcessModules; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Refresh; procedure KillSelectedProcess; published property DoubleBuffered; property ProcessCount: Integer read SetProcessCount write GetProcessCount; property AutoRefresh: Boolean read FAutoRefresh write SetAutoRefresh; property AfterRefreshProcesses: TAfterRefreshProcesses read FAfterRefreshProcesses write FAfterRefreshProcesses; property BeforeRefreshProcesses: TBeforeRefreshProcesses read FBeforeRefreshProcesses write FBeforeRefreshProcesses; end; procedure Register; const cPSAPIDLL = 'PSAPI.dll'; ProcessBasicInformation = 0; implementation procedure Register; begin RegisterComponents('GuidoG', [TggProcessViewer]); end; { TggProcessViewer } constructor TggProcessViewer.Create(AOwner: TComponent); begin inherited; RefreshTimer := TTimer.Create(Self); RefreshTimer.OnTimer := TimerAutoRefresh; FixedCols := 0; DefaultRowHeight := 15; ColWidths[0] := 120; ColWidths[1] := 60; ColWidths[2] := 50; ColWidths[3] := 360; Options := Options - [goVertLine, goHorzLine] + [goDrawFocusSelected, goThumbTracking, goColSizing, goRowSizing]; GetProcesses; FAutoRefresh := TRUE; end; procedure TggProcessViewer.InitGridForNT; begin ColCount := 7; RowCount := 2; Cells[0, 0] := 'Process'; Cells[1, 0] := 'PID'; Cells[2, 0] := 'CPU time'; Cells[3, 0] := 'Kernel time'; Cells[4, 0] := 'User time'; Cells[5, 0] := 'Priority'; Cells[6, 0] := 'Location'; Cells[0, 1] := ''; Cells[1, 1] := ''; Cells[2, 1] := ''; Cells[3, 1] := ''; Cells[4, 1] := ''; Cells[5, 1] := ''; Cells[6, 1] := ''; end; procedure TggProcessViewer.InitGridForWinXX; begin ColCount := 4; RowCount := 2; Cells[0, 0] := 'Process'; Cells[1, 0] := 'PID'; Cells[2, 0] := 'Priority'; Cells[3, 0] := 'Location'; Cells[0, 1] := ''; Cells[1, 1] := ''; Cells[2, 1] := ''; Cells[3, 1] :=..