![](/img/trans.png)
[英]How to open a Shared Folder on the File Explorer using Process.Start Method with userName and Password
[英]Using Process.Start to open explorer
编辑:找到解决方案,将在问题末尾的图像下注明
在对 SO 进行了大量研究后,我发现使用选定文件打开资源管理器的方法是:
Process.Start("explorer.exe", "/select, " + path);
但是,当我使用受控输入执行此操作时,资源管理器仅打开其主窗口,但是当我将函数调用硬编码为路径变量中的相同值时(在我的控制测试中,它是 C:\\Temp 中的一个文本文件)它可以工作。 因此,如果我在路径为“C:\\Temp\\test.txt”时执行上述操作,它不会在临时文件夹中打开资源管理器,但是当我这样做时:
Process.Start("explorer.exe", "/select, C:\\\\Temp\\\\test.txt");
它完美运行,打开资源管理器并突出显示文件。 这里发生了什么? 我的字符串变量的内部格式有什么问题吗?
(此外,我使用路径变量打开 FileInfo 时遇到了同样的问题。硬编码到相同的值可以工作,但使用该变量给了我一个“不支持给定路径的格式”异常”)
2 个资源管理器窗口(为安全性裁剪)是 2 个相应调用的结果。 带有变量的那个显示了基本的资源管理器主页。 硬编码的文件显示按预期选择的文件。
编辑:在字符串的前面隐藏了一个隐藏的从左到右格式字符。
public static class Program
{
static void Main()
{
Explore("C:\\Users\\art_g\\Desktop\\Sample.txt");
}
static void Explore(string path) =>
Process.Start("explorer.exe", "/select, " + path);
}
奇迹般有效。 检查您的路径字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.