各位老大我想问下createprocess 要开启cmd我要怎么设置命令行参数啊,我写的代码
CreateProcess(nil, PChar('cmd.exe /c dir'), @Security, @Security, true,NORMAL_PRIORITY_CLASS,nil, nil, start,ProcessInfo);
为什么没次都提示我address violation at address 76019780 in modul 'kernel.dll'
望各位老大答复,谢谢

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      si: TStartupInfo;
      pi: TProcessInformation;
    begin
      FillChar(si,Sizeof(TStartupInfo),#0);
      si.cb := SizeOf(TStartupInfo) ;
      si.dwFlags := STARTF_USESHOWWINDOW ;
      si.wShowWindow := SW_SHOW ;
      FillChar(pi,SizeOf(TProcessInformation),#0);
      windows.CreateProcess(nil,PChar('cmd.exe /c dir'),nil,nil,False,0,nil,nil,si,pi);
      CloseHandle(pi.hThread);
      WaitForSingleObject(pi.hProcess,INFINITE) ;
      CloseHandle(pi.hProcess);
    end;
      

  2.   

    为什么要windows.createprocess啊,这是什么原因,小布点可以帮忙解释下么,谢谢