从 C# 启动应用程序 (.EXE)?

问题描述 投票:0回答:10

如何使用 C# 启动应用程序?

要求: 必须在 Windows XPWindows Vista 上运行。

我看到了来自 DiningNow.net 采样器的示例,该示例仅适用于 Windows Vista。

c# .net windows-vista windows-xp
10个回答
243
投票

这是一段有用的代码:

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


186
投票

使用

System.Diagnostics.Process.Start()
方法。

查看这篇文章了解如何使用它。

Process.Start("notepad", "readme.txt");

string winpath = Environment.GetEnvironmentVariable("windir");
string path = System.IO.Path.GetDirectoryName(
              System.Windows.Forms.Application.ExecutablePath);

Process.Start(winpath + @"\Microsoft.NET\Framework\v1.0.3705\Installutil.exe",
path + "\\MyService.exe");

63
投票
System.Diagnostics.Process.Start("PathToExe.exe");

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

18
投票

如果您像我一样在使用 System.Diagnostics 时遇到问题,请使用以下简单代码,无需它即可工作:

using System.Diagnostics;

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

9
投票

此外,如果可能的话,您将希望为您的路径使用环境变量:http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows

EG

  • %WINDIR% = Windows 目录
  • %APPDATA% = 应用程序数据 - Vista 和 XP 之间差异很大。

还有更多,请查看链接以获得更长的列表。


5
投票

只需将 file.exe 放入 in\Debug 文件夹中并使用:

Process.Start("File.exe");

2
投票

使用 Process.Start 启动进程。

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

1
投票

试试这个:

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

(确保使用 System.Diagnostics 库)


0
投票
Process.Start("MyApp.exe");

它会工作得很好。只需将 MyApp 替换为您的目标应用程序即可。如果需要任何“参数”,你可以这样写。

Process.Start("MyApp.exe", "AnyArgument /eny /args /!!");
© www.soinside.com 2019 - 2024. All rights reserved.