我的winform应用程序中有一个按钮。我希望当用户单击此按钮时,它将从visual studio中的c:\ myfile.xml打开xml文件。现在我不知道用户在哪里安装vs以及他正在使用哪个版本。 如果不可能知道那么我怎样才能在记事本中打开它? 我没有使用webbrowser执行此任务的原因是因为用户需要编辑文件的内容。
我正在使用c#。
感谢。
答案 0 :(得分:2)
string filePath = @"d:\test.xml";
//Open in notepad
System.Diagnostics.Process.Start("notepad", filepath);
//Open in visual studio
System.Diagnostics.Process.Start("devenv", filepath);
请注意,这只适用于在PATH环境变量中找到程序时,您必须捕获异常并尝试使用其他应用程序......如下所示:
bool TryStart(string application, string arguments)
{
try
{
using (Process.Start(application, arguments))
return true;
}
catch (Win32Exception)
{
return false;
}
catch (FileNotFoundException)
{
return false;
}
}
void OpenXml(string filePath)
{
if (!TryStart("devenv", filePath) && !TryStart("notepad", filePath))
using (Process.Start(filePath))
{ }
}