みなさんはじめまして。
現在、CreateProcess APIを使用して外部プログラムを
実行させようとしています。
正常に起動は行えるのですが、
起動完了を待たずに次の処理へ進んでしまいます。
外部プログラムの起動完了後に次の処理へうつるには、
どのようにすればいいのでしょうか?
いろいろと調べて、外部プログラムが終了後に
次の処理へうつるにはWaitForSingleObject APIを
使用すればいいのはわかったのですが・・・
ご存知の方、宜しくお願い致します。
ProcessInfoで得たプロセスの分待てばいいのですけど…。
いろいろ面倒なので、うちの"おんぷ村倉庫">"Delphiユニット">stdFilesユニットの、
RunAs関数を使うといいでしょう。
最後の引数のWaitFlagに、wfWaitLongか、wfWaitFullを指定してください。
wfWaitFullは、一瞬で動作が終わるアプリケーション用、
wfWaitLongは、長時間動作が終わらないアプリケーション用です。
同じところにある、関数説明一覧にも書いてあります。
(まぁ、wfWaitFullは下位互換性のためにあるといっても、よさそうですけど…(^^ゞ)
あ、アドレス忘れました。
といっても、[HomePage]からでもたどっていけますけど。
http://TakamiChie.tripod.co.jp/
たかみちえ さんありがとうございました。
無事に思い通りの動きになりました。
その他の関数も拝見しました。
大変勉強になりました。
ツイート | ![]() |