[聚合问答] Launching an application (.EXE) from C#?

c#,.net,windows-vista,windows-xp 2018-01-23 38 阅读

How can I launch an application using C#?

Requirements: Must work on Windows XP and Windows Vista.

I have seen a sample from DinnerNow.net sampler that only works in Windows Vista.

7个回答

137

Use System.Diagnostics.Process.Start() method.

Check out this article on how to use it.

2018-01-23
192

Here's a snippet of helpful code:

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;
}

There is much more you can do with these objects, you should read the documentation: ProcessStartInfo, Process.

2018-01-23
50

System.Diagnostics.Process.Start("PathToExe.exe");

2018-01-23
18

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

2018-01-23
13

If you have problems using System.Diagnostics like I had, use the following simple code that will work without it:

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

2018-01-23
8

Additionally you will want to use the Environment Variables for your paths if at all possible: http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows

E.G.

  • %WINDIR% = Windows Directory
  • %APPDATA% = Application Data - Varies alot between Vista and XP.

There are many more check out the link for a longer list.

2018-01-23
1

Try this:

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

(Make sure you use the System.Diagnostics library)

2018-01-23

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版本等事宜,请你联系站长进行处理。