Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как по PID процесса узнать CmdLine, то есть командную строку?

01.01.2007
function GetProcessCmdLine(PID:DWORD):string;

 
var
 h:THandle;
 pbi:TProcessBacicInformation;
 ret:NTSTATUS;
 r:Cardinal;
 ws:WideString;
begin
 result:='';
 if pid=0 then exit;
 h:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, FALSE, pid);
 if h=0 then exit;
 try
   ret:=NtQueryInformationProcess(h,ProcessBasicInformation,@pbi,sizeof(pbi),@r);
   if ret=STATUS_SUCCESS then
    if ReadProcessMemory(h,pbi.PebBaseAddress.ProcessParameters.CommandLine.Buffer,PWideChar(ws),
                           pbi.PebBaseAddress.ProcessParameters.CommandLine.Length,r) then
   result:=string(ws);
 finally
  closehandle(h)
 end
end;

Автор: Krid

Взято из https://forum.sources.ru