unitprocess.pas

来自「远程控制软件」· PAS 代码 · 共 49 行

PAS
49
字号
unit UnitProcess;

interface

uses
  Windows,
  SysUtils,
  TLhelp32;

  function GetProc():String;
  function TerminarProceso(PID: String): Boolean;

implementation


function GetProc():String;
var
  Proceso : TProcessEntry32;
  ProcessHandle : THandle;
  HayOtroProceso   : Boolean;
begin
  Proceso.dwSize := SizeOf(TProcessEntry32);
  ProcessHandle := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if Process32First(ProcessHandle, Proceso) then  
  begin
    Result:= String(Proceso.szExeFile) + '|'+ IntToStr(Proceso.th32ProcessID)+'|';
    repeat HayOtroProceso := Process32Next(ProcessHandle, Proceso);
      if HayOtroProceso then
        Result:=Result + String(Proceso.szExeFile) + '|'+ IntToStr(Proceso.th32ProcessID)+'|';
    until not HayOtroProceso; 
  end;
  CloseHandle(ProcessHandle);
end;


function TerminarProceso(PID: String): Boolean;
var
  ProcessHandle : THandle;
begin
  try ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, TRUE, StrToInt64(PID));
    if TerminateProcess(ProcessHandle ,0) then
      Result := True
  except
    Result := False;
  end;
end;

end.
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?