zoukankan      html  css  js  c++  java
  • Delphi技巧集六 (等待执行完一个外部程序再执行另一个程序)

    http://www.cnblogs.com/kylskjb/archive/2008/08/10/1264799.html

    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;

    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    uses ShellAPI;  //注意

    {$R *.dfm}

    function ExecAppWait(AppName, Params: string): Boolean;
    var
      ShellExInfo: TShellExecuteInfo;
    begin
      FillChar(ShellExInfo, SizeOf(ShellExInfo), 0);
      with ShellExInfo do begin
        cbSize := SizeOf(ShellExInfo);
        fMask := see_Mask_NoCloseProcess;
        Wnd := Application.Handle;
        lpFile := PChar(AppName);
        lpParameters := PChar(Params);
        nShow := sw_ShowNormal;
      end;
      Result := ShellExecuteEx(@ShellExInfo);
      if Result then
        while WaitForSingleObject(ShellExInfo.HProcess, 100) = WAIT_TIMEOUT do
        begin
          Application.ProcessMessages;
          if Application.Terminated then Break;
        end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    const    { 连续运行下面这四个EXE文件 }
      EXEFILES : array[1..4] of string =
                 ('calc.exe', 'mspaint.exe', 'Notepad.exe', 'wordpad.exe');
    var
      Success: Boolean;
      InstanceID: THandle;
      I : integer;
    begin
      for I := Low(EXEFILES) to High(EXEFILES) do
        begin
        Application.Minimize;
        Success := False;
        try
           Success := ExecAppWait(EXEFILES[I], '')
        finally
          Application.Restore;
          if not Success then
            ShowMessage(Format('Application %d failed: %s', [ I, EXEFILES[I] ]));
        end;
      end;
    end;

    end.

  • 相关阅读:
    nohub和 2>&1 &
    postman
    ximd 破解版
    B树和B+树的插入、删除图文详解
    漫画叙述B+树和B-树,很值得看!
    数据库 操作的几个问题记录
    推送实现 应用未启动情况下的自定义声音播放
    collectionView reloadData时 点击问题
    强制横屏或者竖屏
    wkWebView 或者 webView 在客户端隐藏某些布局的方法
  • 原文地址:https://www.cnblogs.com/chulia20002001/p/1836574.html
Copyright © 2011-2022 走看看