[リストへもどる]
一括表示

投稿時間:2003/06/21(Sat) 17:27
投稿者名:かじゅ
Eメール:
URL :
タイトル:
ShellExecuteで起動したプログラム
いつもここのサイトを参考にしています、かじゅと申します。
今回は質問なのですが、
Shell関数で起動したプログラムの終了を待つ方法は
ここのサイトでも紹介されてるのですが、
ShellExecuteで起動したプログラムの終了を待つ方法は
どうすれば良いかご伝授のほど、宜しくお願いします。

投稿時間:2003/06/21(Sat) 18:35
投稿者名:Say
Eメール:
URL :
タイトル:
Re: ShellExecuteで起動したプログラム
ShellExecuteの戻り値は、エラーチェックぐらいにしか使えませんから、
Win95系なら
    CreateToolHelp32Snapshot,Process32First,Process32Next で
WinNT系なら
    EnumProcesses で
プロセスIDを列挙した後、OpenProcessで目的のプロセスハンドルを取得する必要があります。

プロセスハンドルを取得できたらWaitForSingleObjectで
シグナル状態を待てばよろしいかと。

投稿時間:2003/06/21(Sat) 19:23
投稿者名:かじゅ
Eメール:
URL :
タイトル:
Re^2: ShellExecuteで起動したプログラム
お忙しい中ありがとうございます。
やはり、現在実行しているアプリケーションを列挙して
カーネルオブジェクトがシグナル状態になるのを待てば
良いって事ですね。

これから試してみます。

ありがとうございました。