私のアプリケーションでは、次のように定義しました。
public static readonly string NOTEPAD = "%windir%\\notepad.exe";
Win7マシンの[ファイル名を指定して実行]コマンドにメモ帳のテキスト値を入力すると、メモ帳が開きます。
ただし、Visual Studio C#プロジェクト内からは、WriteLineルーチンが毎回起動します。
if (!File.Exists(NOTEPAD)) {
Console.WriteLine("File Not Found: " + NOTEPAD);
}
Visual Studioは理解しません%windir%
か?