.NET TIPS

ほかのアプリを実行して終了コードを得るには?[C#、VB]

デジタルアドバンテージ 一色 政彦
2009/04/02

 プログラム内からほかのアプリケーションを実行する方法はいくつかあり、例えば「TIPS:ほかのアプリケーションを実行してその終了を待つには?」ではProcessクラス(System.Diagnostics名前空間)のオブジェクトのStartメソッドを使う方法が紹介されている。本稿では、このようにして実行されたアプリケーションが終了されたときに返される終了コードを取得する方法について説明する。

 なお、.NETアプリケーションで終了コードを返す方法については、「TIPS:コンソール・アプリケーションで終了コードを返すには?」を参照してほしい。

Process.Startメソッドで終了コードを取得する方法

 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
Exitプロパティを利用するサンプル・コード(上:C#、下:VB)

 このように終了コード(上記のコード例では「100」)は簡単に取得できる。

 終了コードの利用例としては、「1つのコンソール・アプリケーションの実行結果に基づいて、ほかのコンソール・アプリケーションを選択的に実行したり、そこで処理を中止したりする」というような処理フローを備えたバッチ処理などが考えられる。End of Article

カテゴリ:クラス・ライブラリ 処理対象:Windows環境
使用ライブラリ:Processクラス(System.Diagnostics名前空間)
関連TIPS:ほかのアプリケーションを実行してその終了を待つには?
関連TIPS:コンソール・アプリケーションで終了コードを返すには?

この記事と関連性の高い別の.NET TIPS
コンソール・アプリケーションで終了コードを返すには?
コンソール・アプリケーションを途中で終了するには?
ほかのアプリケーションを実行してその終了を待つには?
コンソール・アプリケーションの出力を取り込むには?
コンソール・アプリケーションで[閉じる]ボタンを無効にするには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

Insider.NET 記事ランキング

本日 月間
ソリューションFLASH