外部プログラムの実行

解決


まつもと  2003-02-17 20:46:57  No: 2960

みなさんはじめまして。

現在、CreateProcess APIを使用して外部プログラムを
実行させようとしています。

正常に起動は行えるのですが、
起動完了を待たずに次の処理へ進んでしまいます。
外部プログラムの起動完了後に次の処理へうつるには、
どのようにすればいいのでしょうか?

いろいろと調べて、外部プログラムが終了後に
次の処理へうつるにはWaitForSingleObject APIを
使用すればいいのはわかったのですが・・・

ご存知の方、宜しくお願い致します。


たかみちえ  URL  2003-02-17 21:50:42  No: 2961

ProcessInfoで得たプロセスの分待てばいいのですけど…。

いろいろ面倒なので、うちの"おんぷ村倉庫">"Delphiユニット">stdFilesユニットの、
RunAs関数を使うといいでしょう。
  最後の引数のWaitFlagに、wfWaitLongか、wfWaitFullを指定してください。

  wfWaitFullは、一瞬で動作が終わるアプリケーション用、
wfWaitLongは、長時間動作が終わらないアプリケーション用です。
  同じところにある、関数説明一覧にも書いてあります。
(まぁ、wfWaitFullは下位互換性のためにあるといっても、よさそうですけど…(^^ゞ)


たかみちえ  URL  2003-02-17 21:52:37  No: 2962

あ、アドレス忘れました。
といっても、[HomePage]からでもたどっていけますけど。
http://TakamiChie.tripod.co.jp/


まつもと  2003-02-17 22:11:14  No: 2963

たかみちえ さんありがとうございました。
無事に思い通りの動きになりました。

その他の関数も拝見しました。
大変勉強になりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加