// Es wird herausgefunden, wann ein Prozess gestartet wurde:


// Getestet mit D4 unter XP

function _FileTimeToDateTime(ft: _FileTime; out Value: TDateTime): boolean; 
var 
  lft: _FileTime; 
  dt: DWord; 
begin 
  Result := false; 
  try 
    if FileTimeToLocalFileTime(ft, lft) and 
      FileTimeToDosDateTime(lft, LongRec(dt).Hi, LongRec(dt).Lo) 
      then begin 
      Value := FileDateToDateTime(dt); 
      Result := true; 
    end; 
  except 
  end; 
end; 
 
function GetProcessStart(hProcess: THandle; out Value: TDateTime): boolean; 
var 
  lpCreationTime, lpExitTime, lpKernelTime, lpUserTime: _FileTime; 
begin 
  try 
    Result := GetProcessTimes(hProcess, lpCreationTime, lpExitTime, 
      lpKernelTime, lpUserTime) and _FileTimeToDateTime(lpCreationTime, Value); 
  except 
    Result := false; 
  end; 
end; 
 
 
// Beispielaufruf 
 
procedure TForm1.Button4Click(Sender: TObject); 
var Start: TDateTime; 
begin 
  if not GetProcessStart(GetCurrentProcess, Start) 
    then Showmessage('Abfrage fehlgeschlagen!') 
  else showmessage(DateTimeToStr(Start)); 
end;



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke