C# 打开文件夹并选中目录,本来很简单的一个要求,按照网上说的怎么也实现不了。
总是打开“我的文档”
后来多次尝试才知道是路径的问题,如果不是标准的路径是无法打开的。
比如路径中有 "\\\\" 这样的路径分隔符、估计是底层的C++参数输入要求太严格了。
我改成下面这样的处理。现在没发现其他的问题。
string LocalPath = Common.ChangedToStandardPath(OriginalLocalPath,'\\');
//LocalPath 为文件路径
System.Diagnostics.Process.Start("Explorer", "/select," + LocalPath);
/// <summary>
/// 路径转换为标准路径
/// </summary>
/// <param name="strPath">路径</param>
/// <param name="SplitChar">分割字符串</param>
/// <returns></returns>
public static string ChangedToStandardPath(string strPath,char SplitChar)
{
string strStandrtPath = "";
string[] Arry = strPath.Split(SplitChar);
foreach (string SplitString in Arry)
{
if (string.IsNullOrEmpty(SplitString) == false && SplitString.Equals(SplitChar) == false)
{
strStandrtPath += (SplitString + SplitChar);
}
}
strStandrtPath = strStandrtPath.Substring(0, strStandrtPath.Length -1);
return strStandrtPath;
}