次のサンプルはnotepadを起動します。
-------------------------------------------------------
using System;
using System.Diagnostics;
public class ProcessTest {
public static void Main() {
Process p = Process.Start("notepad.exe");
Console.WriteLine("notepadを終了しました");
}
}
-------------------------------------------------------
Process.Startに渡す文字列は"notepad"だけでもOKです。
上記サンプルを実行すると、notepadが表示されると同時に"notepadを終了しました"の文字列もコンソール上に表示されてしまいます。
notepadの終了を待って文字列を書き出すようにするには以下のようにします。
-------------------------------------------------------
using System;
using System.Diagnostics;
public class ProcessTest {
public static void Main() {
Process p = Process.Start("notepad.exe");
p.WaitForExit();
Console.WriteLine("notepadを終了しました");
}
}
-------------------------------------------------------
拡張子とプログラムが関連付けられている場合、そのプログラムを利用するファイル名を渡すという方法もとれます。
下記のサンプルではtxtに関連づけられたプログラム(普通はnotepadかな?)が起動します。
-------------------------------------------------------
using System;
using System.Diagnostics;
public class ProcessTest {
public static void Main() {
Process p = Process.Start("test.txt");
p.WaitForExit();
Console.WriteLine("notepadを終了しました");
}
}
-------------------------------------------------------
なお、プログラム名と引数を渡すことも可能です。
次のサンプルではnotepad.exeにtest.txtファイルを渡して起動しています。
-------------------------------------------------------
using System;
using System.Diagnostics;
public class ProcessTest {
public static void Main() {
Process p = Process.Start("notepad.exe", "test.txt");
p.WaitForExit();
Console.WriteLine("notepadを終了しました");
}
}
-------------------------------------------------------
あおい情報システム株式会社 小野修司(どっとねっとふぁん)