Thema: FreePascal CMD / Prozess prüfen

Einzelnen Beitrag anzeigen

Moombas
(Gast)

n/a Beiträge
 
#5

AW: CMD / Prozess prüfen

  Alt 1. Apr 2020, 12:28
Funktioniert leider nicht.
Delphi-Quellcode:
program Backup;
{$mode Delphi}{$H+}
uses
  ShellAPI, Windows;

{$R *.res}
var
  StartupInfo: TStartupInfo;
  ProcessInfo: TProcessInformation;
  CmdLine: string;
begin
  //ShellExecute(0, nil, PChar('cmd'), PChar('/c wbadmin.exe start backup -quiet -vssCopy -backupTarget:D: -include:C:'), nil, 1);
  CmdLine := 'cmd /c wbadmin start backup -quiet -vssCopy -backupTarget:D: -include:C:';

  FillChar(StartupInfo, SizeOf(StartupInfo), 0);
  StartupInfo.cb := SizeOf(StartupInfo);
  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow := SW_SHOW;

  if CreateProcess(nil, PChar(CmdLine), nil, nil,
    False, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then
  begin
    repeat
    until WaitForSingleObject(ProcessInfo.hProcess, 1) = WAIT_OBJECT_0;
    CloseHandle(ProcessInfo.hProcess);
    CloseHandle(ProcessInfo.hThread);
  end
  else
    WriteLn('Cannot run command line: ' + CmdLine);
  sleep(5000);
end.
Bringt kein Ergebnis/wird nicht gestartet bzw. endet beim "Connot run command line".

Geändert von Moombas ( 1. Apr 2020 um 13:13 Uhr)
  Mit Zitat antworten Zitat