【C#】Processを使い、アプリケーションを起動する

投稿者: | 2011年9月13日

System.Diagnostics.Processクラスを使うと、任意のアプリケーションを起動することが出来る。
使い方は、ProcessクラスとProcessStartInfoクラスのインスタンスを生成し、ProcessStartInfoインスタンスに適切な設定を行い、その設定をProcessインスタンスにセットしてプロセスをスタートする、という流れになる。
以下に簡単なサンプルコードを示す。

Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace InvokeProcessLesson
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// メモ帳を起動する
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            Process process = new Process();
            ProcessStartInfo startInfo = new ProcessStartInfo("notepad");
            
            process.StartInfo = startInfo;
            process.Start();
        }

        /// <summary>
        /// Firefoxを起動する
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            Process process = new Process();
            ProcessStartInfo startInfo = new ProcessStartInfo("firefox");
            startInfo.Arguments = "http://www.yahoo.co.jp";

            process.StartInfo = startInfo;
            process.Start();
        }
    }
}

このプログラムはWindowsFormで出来ており、あらかじめFormにボタンが2つ追加してある。
1つ目のボタンを押すとメモ帳が起動する。
2つ目のボタンを押すとFirefoxが起動する(Firefoxがインストールされていることが必要)。
ここでは、44行目でProcessStartInfoのArgmentsプロパティにYahooのアドレスをセットしてみた。
Firefoxの場合は、ここにインターネットアドレスが設定されているとそのページが起動時に表示される。
実行すると以下のようになる。

メモ帳を起動

Firefoxを起動

【C#】Processを使い、アプリケーションを起動する」への1件のフィードバック

  1. ピンバック: 【C#】Processで起動したアプリの標準出力をリダイレクトする – ザワプロ!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です