この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
プログラム内からほかのアプリケーションを実行する方法はいくつかあり、例えば「TIPS:ほかのアプリケーションを実行してその終了を待つには?」ではProcessクラス(System.Diagnostics名前空間)のオブジェクトのStartメソッドを使う方法が紹介されている。本稿では、このようにして実行されたアプリケーションが終了されたときに返される終了コードを取得する方法について説明する。
なお、.NETアプリケーションで終了コードを返す方法については、「TIPS:コンソール・アプリケーションで終了コードを返すには?」を参照してほしい。
Processオブジェクトを使って実行したアプリケーションの終了コード(int型/Integer型の値)を取得するには、そのProcessオブジェクトのExitプロパティを使えばよい。
次のコードは、実際にExitプロパティを利用するコンソール・アプリケーションのサンプル・プログラムである。
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Process proc = new Process();
proc.StartInfo.FileName = @"C:\app.exe";
proc.Start();
proc.WaitForExit();
Console.WriteLine(proc.ExitCode.ToString());
// 出力結果例: 100
}
}
Imports System.Diagnostics
Module Module1
Sub Main()
Dim proc As New Process()
proc.StartInfo.FileName = "C:\app.exe"
proc.Start()
proc.WaitForExit()
Console.WriteLine(proc.ExitCode.ToString())
' 出力結果例: 100
End Sub
End Module
このように終了コード(上記のコード例では「100」)は簡単に取得できる。
終了コードの利用例としては、「1つのコンソール・アプリケーションの実行結果に基づいて、ほかのコンソール・アプリケーションを選択的に実行したり、そこで処理を中止したりする」というような処理フローを備えたバッチ処理などが考えられる。
カテゴリ:クラス・ライブラリ 処理対象:Windows環境
使用ライブラリ:Processクラス(System.Diagnostics名前空間)
関連TIPS:ほかのアプリケーションを実行してその終了を待つには?
関連TIPS:コンソール・アプリケーションで終了コードを返すには?
Copyright© Digital Advantage Corp. All Rights Reserved.