Last Updated 2004/02/24 |
Programming Tips Visual C++ API | 索 引 |
CreateProcess
2004/02/24
notepad を起動する必要最小限のコードは以下のとおり.
引数を渡すには,CreateProcess の第2引数で、コマンドラインパラメータを含む文字列を渡す.
起動したプロセスのハンドルとかは pi に格納される. プロセスを起動するとすぐにリターンする.起動に失敗すると FALSE を返すので,原因はGetLastError() で調べる. hProcess と hThread は必要ないなら,CreateProcess() した直後で
としておく必要がある. (これをしないと子プロセスが終了してもオブジェクトを解放できない) プロセスの終了を待ちたい場合など WaitForSingleObject を使用するのであれば hProcess などは使用しなくなった時点で解放することになる.
また,非表示で実行させるには,STARTUPINFO の dwFlags に STARTF_USESHOWWINDOW,wShowWindow に SW_HIDE を指定する.
もし,起動する子プロセスがユーザインタフェースのないバッチ的なプログラムの場合,該当の開始部分に
とする.こうしなければ親プロセスを再実行した場合 Windows95 などで VMM 違反が発生する場合がある 参照 PostThreadMessage 起動待ち CreateProcess()でリダイレクト 日付と時刻のプロパティ起動 |
|