【发布时间】:2012-03-29 13:53:40
【问题描述】:
我的 C# 项目中有一个 EXE 文件引用。如何从我的代码中调用该 EXE 文件?
【问题讨论】:
我的 C# 项目中有一个 EXE 文件引用。如何从我的代码中调用该 EXE 文件?
【问题讨论】:
using System.Diagnostics;
class Program
{
static void Main()
{
Process.Start("C:\\");
}
}
如果您的应用程序需要 cmd 参数,请使用以下内容:
using System.Diagnostics;
class Program
{
static void Main()
{
LaunchCommandLineApp();
}
/// <summary>
/// Launch the application with some options set.
/// </summary>
static void LaunchCommandLineApp()
{
// For the example
const string ex1 = "C:\\";
const string ex2 = "C:\\Dir";
// Use ProcessStartInfo class
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = "dcm2jpg.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = "-f j -o \"" + ex1 + "\" -z 1.0 -s y " + ex2;
try
{
// Start the process with the info we specified.
// Call WaitForExit and then the using statement will close.
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
}
catch
{
// Log error.
}
}
}
【讨论】:
startInfo.UseShellExecute = false 是一件很棒的事情......它对我来说就像一个魅力!谢谢! :)
【讨论】:
例子:
System.Diagnostics.Process.Start("mspaint.exe");
编译代码
复制代码并将其粘贴到控制台应用程序的 Main 方法中。 将“mspaint.exe”替换为您要运行的应用程序的路径。
【讨论】:
Process.Start() 的用法
示例:
Process process = Process.Start(@"Data\myApp.exe");
int id = process.Id;
Process tempProc = Process.GetProcessById(id);
this.Visible = false;
tempProc.WaitForExit();
this.Visible = true;
【讨论】: