代码:
procedure TForm1.Button1Click(Sender: TObject);
var
   si:STARTUPINFO;
    pi:PROCESS_INFORMATION;
    scmd,tempdir:string;
begin
    
    scmd:='ping 127.0.0.1’;
    
    si.cb:=sizeof(si);
    si.dwFlags:=STARTF_USESHOWWINDOW;
    if(CreateProcess(nil,pchar(scmd),nil,nil,true,0,nil,pchar(tempdir),si,pi)=false) then
    begin
      showmessage(inttostr(getlasterror));
    end;
老是showmessage出998这个错误,请高手指教!

解决方案 »

  1.   


    http://expert.csdn.net/Expert/topic/1924/1924988.xml?temp=.1805689
      

  2.   

    无论是执行什么命令都不行啊。比如“compress.exe *.Z"也不行
      

  3.   

    错误访问类存。你还要设置si.lptitle
    采用下面代码试下:
       scmd:='ping 127.0.0.1';
          si.cb:=sizeof(TStartupInfo);
           si.lpReserved := NIL;
             si.lpDesktop:=NIL;
              si.lpTitle := pChar('asdf');
          si.cbReserved2 :=0;    if(CreateProcess(nil,pchar(scmd),nil,nil,
          False,0,pchar(tempdir),nil,StartInfo,pi)=false) then
        begin
          showmessage(inttostr(getlasterror));
        end;
      

  4.   

    打错了应该是CreateProcess(nil,pchar(scmd),nil,nil,
          False,0,pchar(tempdir),nil,Si,pi)