FAQ一覧へ インデックスへ

他のプログラムの起動、終了待ち(1.0)


質問

他のプログラムの起動方法が知りたい。
WinExecで起動したプログラムの終了待ちを行ないたい。



答え

WinExecと、GetModuleUsageを使います。

例を参照してください。



Var
   MH : THandle;
Begin
   MH := WinExec('NotePad.Exe', SW_SHOWNORMAL);
   If MH < 32 Then
      Raise Exception.Create('Exec Error ' + IntToStr(MH));
   While GetModuleUsage(MH) <> 0 Do
     Application.ProcessMessages;
{このループが抜けたら、起動したプログラムが終了している}
End;