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

» 2009年04月02日 05時00分 公開
[一色政彦デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「.NET TIPS」のインデックス

連載目次

 プログラム内からほかのアプリケーションを実行する方法はいくつかあり、例えば「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つのコンソール・アプリケーションの実行結果に基づいて、ほかのコンソール・アプリケーションを選択的に実行したり、そこで処理を中止したりする」というような処理フローを備えたバッチ処理などが考えられる。

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

「.NET TIPS」のインデックス

.NET TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。