CreateProcess(pchar('d:\temp.exe'),nil,nil,nil,true,NORMAL_PRIORITY_CLASS,nil,pchar('d:\'), StartupInfo,ProcessInfo) ;
这个句子可以通过;
可是这个temp.exe带有参数,一个参数是 'wo shi',还有个参数是'111',上面的修改成
CreateProcess(pchar('d:\temp.exe wo shi 111'+fenqu),nil,nil,nil,true,NORMAL_PRIORITY_CLASS,nil,pchar('d:\'), StartupInfo,ProcessInfo);
这样怎么就不行呢?>?
改怎么带参数啊!!!

解决方案 »

  1.   

    CreateProcess(pchar('d:\temp.exe'+'"'+'wo shi 111'+'" '+' fenqu'),nil,nil,nil,true,NORMAL_PRIORITY_CLASS,nil,pchar('d:\'), StartupInfo,ProcessInfo);没测试过 不知道行不行~~~~
      

  2.   

    参数 lpApplicationName 
    类型及说明 String,要执行的应用程序的名字。可设为vbNullString;在这种情况下,应用程序的名字应在lpCommandLine参数的起始处出现 
      

  3.   

    CreateProcess(pchar('d:\temp.exe wo shi 111'+fenqu),nil,nil,nil,true,NORMAL_PRIORITY_CLASS,nil,pchar('d:\'), StartupInfo,ProcessInfo);把第一和第二个参数互换就可以
      

  4.   

    可能你前面的代码就有错,我贴个例子你看看,找开记事本并装载1.txt文件var
      SI: TStartupInfo;
      PI: TProcessInformation;
    begin
      FillChar(SI, SizeOf(SI), #0);
      CreateProcess(nil,PChar('c:\windows\notepad.exe c:\1.txt'),nil,nil,True,
        NORMAL_PRIORITY_CLASS,nil,nil,SI,PI);
    end;