1.简介
在做跨平台项目时,我们总是需要通过程序打开外部的文件或者网址等。本文就是介绍的这个方法。
2.操作
解决思路,是根据系统环境不同,分别调用系统的Shell模式去调用外部程序。
代码如下:
/// <summary>
/// 文件或者地址
/// </summary>
/// <param name="filePath">文件地址(包含文件名称)</param>
/// <returns></returns>
public static bool OpenFile(string filePath)
{
try
{
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) //windows环境下打开文件
{
filePath = filePath.Replace("&", "^&");
Process.Start(new ProcessStartInfo("cmd", $"/c start {filePath}") { CreateNoWindow = true });
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) //Linux环境下打开文件
{
Process.Start("xdg-open", filePath);
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) //Mac环境下打开文件
{
Process.Start("open", filePath);
}
}
catch (Exception ex)
{
return false;
}
return true;
}
3.总结
只是一个小技巧,积累即可。方便自己,方便大家。