zoukankan      html  css  js  c++  java
  • delphi执行一个外部程序,当外部程序结束后,delphi程序立即响应

    procedure TForm1.Button1Click(Sender: TObject);  
    var  
      SEInfo: TShellExecuteInfo;  
      ExitCode: DWORD;  
      ExecuteFile, ParamString, StartInString: string;  
    begin  
      ExecuteFile := 'c:\Windows\system32\Calc.exe';  
      FillChar(SEInfo, SizeOf(SEInfo), #0);  
      SEInfo.cbSize := SizeOf(TShellExecuteInfo);  
      with SEInfo do begin  
        fMask := SEE_MASK_NOCLOSEPROCESS;  
        Wnd := Application.Handle;  
        lpFile := PChar(ExecuteFile);  
        //ParamString can contain the application parameters  
    //    lpParameters := PChar(ParamString);  
        //StartInString specifies the name of the working directory.if ommited, the current directory is used.  
    //    lpDirectory := PChar(StartInString);  
        nShow := SW_SHOWNORMAL;  
      end;  
      if ShellExecuteEx(@SEInfo) then  
      begin  
        repeat  
          Application.ProcessMessages;  
          GetExitCodeProcess(SEInfo.hProcess, ExitCode);  
          if ExitCode = STILL_ACTIVE then Sleep(500);  
        until (ExitCode <> STILL_ACTIVE) or Application.Terminated;  
        ShowMessage('Calculator terminated');  
      end  
      else  
        ShowMessage('Error starting Calc!');  
    end;  
  • 相关阅读:
    __str__
    __call__
    私有成员
    @property
    静态方法
    静态字段
    cut qcut
    hive 函数大全
    sklearn 中的Countvectorizer/TfidfVectorizer保留长度小于2的字符方法
    numpy教程:随机数模块numpy.random
  • 原文地址:https://www.cnblogs.com/railgunman/p/1889730.html
Copyright © 2011-2022 走看看