简单问题:请教如何调用一个可执行文件?是用Winexec吗?并且要求该程序只能运行一次呢?能给个例子吗?

解决方案 »

  1.   

    function MyExecute(const Command: string; bWaitExecute,
      bShowWindow: Boolean; PI: PProcessInformation): Boolean;
    var
      StartupInfo       : TStartupInfo;
      ProcessInformation: TProcessInformation;
    begin
      FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
      with StartupInfo do
      begin
        cb := SizeOf(TStartupInfo);
        dwFlags := STARTF_USESHOWWINDOW;
        if bShowWindow then
          wShowWindow := SW_NORMAL
        else
          wShowWindow := SW_HIDE;
      end;
      Result := CreateProcess(nil, PChar(Command),
        nil, nil, True, NORMAL_PRIORITY_CLASS, nil, nil,
        StartupInfo, ProcessInformation);
      if not Result then
        Exit;
      if bWaitExecute then
        WaitForSingleObject(ProcessInformation.hProcess, INFINITE);
      if Assigned(PI) then
        Move(ProcessInformation, PI^, SizeOf(ProcessInformation));
    end;
    调用示例
    MyExecute('C:\WINNT\system32\net.exe send huo aa',true,true,nil);