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で起動したアプリの標準出力をリダイレクトする – ザワプロ!