このJVMを起動したWindowsプログラムから、JVM終了コード(call:System.exit(status)から 'status'の値)を取得するにはどうすればよいですか?私はShellExecute()呼び出しの結果を使用しようとしましたが、結果(42)は実際のステータス値とは無関係でした。Win32 APIを使用して(Java)プロセスの終了コードを取得するにはどうすればよいですか?
答えて
この関数のMSDN docsは、呼び出されたアプリケーションから終了コードを返さないことを明確にしています。
関数が成功すると機能 が失敗した場合、それが32より大きい 値を返し、それが は、障害の原因を示すエラー値を返します。 戻り値は、後方互換性のため HINSTANCEとしてキャストされます。 16ビットWindowsアプリケーションです。しかし、 は真のヒンステスではありません。 はint型にキャストすることができ、 と比較すると、32または以下の エラーコードと比較します。
getting exit statusのサンプルコードは、MSDNでも同様です。
ShellExecuteの代わりにShellExecuteExを使用して外部アプリケーションを起動します。
ShellExecuteExを呼び出す前に、ShellExecuteEx関数のパラメータのSEE_MASK_NOCLOSEPROCESSフラグを有効にします。 ShellExecuteEx関数のパラメータのhProcessフィールドに、開始したプロセスのハンドルが表示されます。
ShellExecuteExを:http://msdn.microsoft.com/en-us/library/bb762154(VS.85).aspx
その後、外部アプリケーションが終了するまで待機するWaitForSingleObject関数やその他のWAITFOR *関数を使用します。
のWaitForSingleObject:http://msdn.microsoft.com/en-us/library/ms687032.aspx
そして、外部プロセスの終了コードを読み取るためにGetExitCodeProcess関数を使用します。
GetExitCodeProcess:http://msdn.microsoft.com/en-us/library/ms683189(VS.85).aspx
- 1. プロセスIDを取得してnohupプロセスを強制終了するにはどうすればいいですか?
- 2. Javaを使用してchromeriverプロセスPIDを取得するにはどうすればよいですか?
- 3. 名前でプロセスを強制終了するには? (Win32 API)
- 4. 親プロセスによって子プロセスを強制終了するにはどうすればいいですか?
- 5. RubyのProcess.fork()から終了コードを取得するにはどうすればよいですか?
- 6. Amazon ECSタスクから終了コードを取得するにはどうすればよいですか?
- 7. JavaでConnectionManagerを使用してHttpConnectionを終了するにはどうすればいいですか?
- 8. ネットワークアダプタを列挙し、Win32 API C++でMACアドレスを取得するにはどうすればよいですか?
- 9. Win32 APIを使用してウィンドウをアニメーション化するにはどうすればよいですか?
- 10. C++でプロセスを強制終了して再起動するにはどうすればよいですか?
- 11. プログラムのすべてのプロセスを強制終了するにはどうすればよいですか?
- 12. プロセスをアイドル状態にしてから、Windowsバッチファイルからプロセスを終了するまで、プロセスを実行するにはどうすればよいですか。
- 13. Android用GoogleプレイスAPIを使用してビットマップスナップショットを取得するにはどうすればよいですか?
- 14. Win32でダイアログリソースを使用するにはどうすればよいですか?
- 15. carrierwaveを使用してrails-apiからファイルを取得するにはどうすればよいですか?
- 16. LiferayからAPIを使用してコンテンツを取得するにはどうすればよいですか?
- 17. curlを使用してAPIからデータを取得するにはどうすればよいですか?
- 18. Facebook APIを使用してテストユーザーのリストを取得するにはどうすればよいですか?
- 19. スコアapiを使用して複数のスコアを取得するにはどうすればよいですか?
- 20. RapidShare APIを使用してアカウントの詳細を取得するにはどうすればよいですか?
- 21. Dropbox python APIを使用してファイルのリンクを取得するにはどうすればよいですか?
- 22. スクリプトAPIを使用してNexus 3.0のコンテンツを取得するにはどうすればよいですか?
- 23. APIを使用してアプリケーションのモバイル番号を取得するにはどうすればよいですか?
- 24. Facebook Graph APIを使用して、ユーザーのネットワークを取得するにはどうすればよいですか?
- 25. Javascriptを使用してfullCalendar.jsの終了日を延長するにはどうすればよいですか?
- 26. OSX/macOSでAPIを使用してファイルシステムタイプを取得するにはどうすればよいですか?
- 27. laravel passport apiでアクセストークンを使用してuser_idを取得するにはどうすればよいですか?
- 28. Pythonを無人モードで使用してpowerfactoryを終了するにはどうすればよいですか?
- 29. Flickr APIにC#を使用してユーザーIDを取得するにはどうすればよいですか?
- 30. sudo実行プロセスから終了コードを取得する
ありがとうございます。最終的に私のメインプログラムから実行されたJavaプログラムの考え方を変更したので、今はjvm終了コードを取得する必要はありません。 –