CreateProcessを使ってプログラムで起動した
××.exeファイルのIDは取れたのですが、
××.jarのプロセスIDが上手くとれません。
何か上手く取ることのできる方法はありませんでしょうか?
最終的には起動したアプリケーションが終了するまで
プログラムをWaitForSingleObjectで待機させておきたいので
IDを取りたいのです。
開発環境は
Windows2000
VC++.Netです
うまく取れないとはどのような状況ですか?
CreateProcess の引数の最後のPROCESS_INFORMATION dwProcessId が
不正な値ということでしょうか?
CreateProcess が成功しているかどうかは確認しましたか?
そもそもjarファイルってJavaのアーカイブで、それ単独では起動しないもの
だと思うのですが……
なんにせよ、CreateProcess前後のソースや、具体的に発生している
状況が不明の為、これではどなたも答えられないと思います。
> CreateProcessを使ってプログラムで起動した
> ××.exeファイルのIDは取れたのですが、
> ××.jarのプロセスIDが上手くとれません。
> 何か上手く取ることのできる方法はありませんでしょうか?
CreateProcessはあくまで実行可能ファイルを実行してプロセスを生成します。
関連付けによるデータファイルの(疑似)実行はシェルの機能ですから,
ShellExecute(Ex)を使うか,FindExecutableで関連付けられた実行可能ファイルを取得する必要があります。
> 最終的には起動したアプリケーションが終了するまで
> プログラムをWaitForSingleObjectで待機させておきたいので
> IDを取りたいのです。
であれば,ShellExecuteExでプロセスハンドルを取得できれば十分かと。
返信ありがとうございます
ShellExecuteは以前使っていたのですがExの方はスルーしてました^^;
ShellExecuteExを使い完成させることが出来ました。
どうもありがとうございました
ツイート | ![]() |