Einzelnen Beitrag anzeigen

LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#17

Re: ShellExecute Laufzeitproblem

  Alt 16. Jan 2009, 15:58
Anderer Ansatz und funktioniert! Aber die Beschreibung zu CreateProcess auf MSDN ist mal total grottig. Da steht das der 1.Paramter den Applikationspfad enthalten soll und der 2.Parameter die Kommandozeile (Übergabeparameter für die Anwendung). Wenn man sich daran hält funktioniert mal garnichts. 1. Parameter auf nil --> autom. wird die Kommandozeile genutzt (das steht aber auch nciht explizit dort) 2.Paramter Anwendungspfad und Übergabeparameter angeben. Wie unten zwar schwer ersichtlich aber erfolgt ist

Delphi-Quellcode:
var
  si:STARTUPINFO;
  pi:PROCESS_INFORMATION;

begin
  FillChar(si, SizeOf(si), Chr(0));
  si.cb:=sizeof(si);
  FillChar(pi, SizeOf(pi), Chr(0));
          
  CreateProcess(nil, PChar(GetCurrentDir+'\7za.exe e -o"'+TempDownloadDir+IP+'" "'+TempDownloadDir+IP+'\'+Form1.ListBox3.Items[i]+'"'), nil, nil, FALSE, 0, nil, nil, si, pi);

  WaitForSingleObject(pi.hProcess, infinite)=WAIT_TIMEOUT;

  DeleteFile(TempDownloadDir+IP+'\'+Form1.ListBox3.Items[i]);
end;
  Mit Zitat antworten Zitat