web-dev-qa-db-ja.com

C#からアプリケーション(.EXE)を起動しますか?

C#を使用してアプリケーションを起動するにはどうすればよいですか?

要件: Windows XP および Windows Vista で動作する必要があります。

Windows Vistaでのみ動作するDinnerNow.netサンプラーのサンプルを見ました。

148
rudigrobler

System.Diagnostics.Process.Start() メソッドを使用します。

この記事 の使用方法を確認してください。

155
Igal Tabachnik

役立つコードの抜粋を次に示します。

using System.Diagnostics;

// Prepare the process to run
ProcessStartInfo start = new ProcessStartInfo();
// Enter in the command line arguments, everything you would enter after the executable name itself
start.Arguments = arguments; 
// Enter the executable to run, including the complete path
start.FileName = ExeName;
// Do you want to show a console window?
start.WindowStyle = ProcessWindowStyle.Hidden;
start.CreateNoWindow = true;
int exitCode;


// Run the external process & wait for it to finish
using (Process proc = Process.Start(start))
{
     proc.WaitForExit();

     // Retrieve the app's exit code
     exitCode = proc.ExitCode;
}

これらのオブジェクトでできることはもっとたくさんあります。ドキュメントを読む必要があります: ProcessStartInfoProcess

216
sfuqua
System.Diagnostics.Process.Start("PathToExe.exe");
55
System.Diagnostics.Process.Start( @"C:\Windows\System32\Notepad.exe" );
17
Adam Kane

私のようなSystem.Diagnosticsの使用に問題がある場合、次の簡単なコードを使用してください。

Process notePad = new Process();
notePad.StartInfo.FileName   = "notepad.exe";
notePad.StartInfo.Arguments = "mytextfile.txt";
notePad.Start();
13
NDB

さらに、可能な場合はパスに環境変数を使用する必要があります。 http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows

例えば。

  • %WINDIR%= Windowsディレクトリ
  • %APPDATA%=アプリケーションデータ-VistaとXPで大きく異なります。

より長いリストについては、さらに多くのリンクをチェックしてください。

8
Brian Schmitt

アダムケイン

System.Diagnostics.Process.Start(@"C:\Windows\System32\Notepad.exe");

これはすばらしかった!!!!!

File.exeを\ bin\Debugフォルダーに置き、以下を使用します。

Process.Start("File.exe");
2
Eng Amin

これを試して:

Process.Start("Location Of File.exe");

(System.Diagnosticsライブラリを使用していることを確認してください)

1
user6436606

Process.Startを使用してプロセスを開始します。

using System.Diagnostics;
class Program
{
    static void Main()
    {
    //
    // your code
    //
    Process.Start("C:\\process.exe");
    }
} 
0
Deadlock