【发布时间】:2011-08-10 16:12:08
【问题描述】:
我尝试了两种不同的方法来启动进程。
第一个
定义定义为 Start 方法的参数:
System.Diagnostics.Process.Start("excel", string.Format("\"{0}\"", ExcelFileBox.Text.ToString()));
我的想法:
这个开始还不错,但我不知道如何从中获得反馈。
第二个
我开始研究 ProcessStartInfo 是因为我想知道 Excel 是否启动成功——例如,虽然它很可能存在于用户的机器上,但无法保证,我表示要这样做是愚蠢的启动成功的用户。
System.Diagnostics.ProcessStartInfo startinfo = new System.Diagnostics.ProcessStartInfo
{
FileName = "excel",
Arguments = string.Format("\"{0}\"", ExcelFileBox.Text.ToString()),
ErrorDialog = true,
UseShellExecute = false,
WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
};
try
{
System.Diagnostics.Process.Start(startinfo);
}
catch (Exception err)
{
Console.WriteLine(err.Message);
}
我的想法:
这给出了错误:“系统找不到指定的文件”,但不清楚它是指 Excel 应用程序还是我的文件。无论如何,虽然我很欣赏错误消息的能力,但我现在不应该收到。
关于如何知道这是否成功发生的想法、建议和想法?
已解决
我将启动进程的第一种方法放入 try-catch 中,效果很好。
【问题讨论】: