我如何打开从C#“我的文档”和“我的电脑”文件夹?(How do I open the “My Do

2019-06-24 18:46发布

我用了两个GUID来打开文件夹, 我的电脑我的文档

Process.Start("iexplore.exe", "::{20d04fe0-3aea-1069-a2d8-08002b30309d}");
Process.Start("iexplore.exe", "::{450d8fba-ad25-11d0-98a8-0800361b1103}");

但它打开Internet Explorer,然后打开文件夹我的电脑我的文档

Answer 1:

更妙的是将跳过explorer完全而直接的“开始”的GUID:

Process.Start("::{20d04fe0-3aea-1069-a2d8-08002b30309d}"); ...



Answer 2:

使用这些硬编码GUID值并不像实现这一目标的最佳途径。

您可以使用Environment.GetFolderPath函数来获取的任何系统特殊文件夹的路径。 它接受Environment.SpecialFolder枚举。

这样,它会更强劲,因为你不会有任何“神奇”的硬编码值。

这里是你如何使用它:

//get the folder paths
string myComputerPath = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
string myDocumentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
//open explorer and point it at the paths
System.Diagnostics.Process.Start("explorer", myComputerPath);
System.Diagnostics.Process.Start("explorer", myDocumentsPath);

对于Windows 7用户的重要注意事项

看来,试图使用此代码,打开Windows 7上我的电脑错误导致被打开的文件夹,而不是库。 这是因为运行资源管理器的一个空路径默认行为在Windows 7中发生了变化。

我在连接上提交下列错误报告,去给它一个给予好评,如果你认为这是很重要的!

https://connect.microsoft.com/VisualStudio/feedback/details/757291/environment-getfolderpath-not-working-correctly-in-windows-7#details

(感谢JeremyK在评论中指出这一点)



Answer 3:

你有没有尝试过:

Process.Start("explorer.exe", "::{20d04fe0-3aea-1069-a2d8-08002b30309d}");
Process.Start("explorer.exe", "::{450d8fba-ad25-11d0-98a8-0800361b1103}");



Answer 4:

尝试Explorer.exe的:

Process.Start("explorer.exe", "::{20d04fe0-3aea-1069-a2d8-08002b30309d}");
Process.Start("explorer.exe", "::{450d8fba-ad25-11d0-98a8-0800361b1103}");


Answer 5:

这并不适用于我的Vista的工作:

string myComputerPath = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
System.Diagnostics.Process.Start("explorer", myComputerPath);

作为Environment.SpecialFolder.MyComputer返回“”和的Process.Start(“资源管理器”,“”)打开我的文档。

该GUID似乎这样做,虽然:

Process.Start("explorer.exe", "::{20d04fe0-3aea-1069-a2d8-08002b30309d}");


Answer 6:

System.Diagnostics.Process.Start("...");

我知道它看起来令人怀疑,但只要运行它。 它会工作。 这是我的计算机代码。 我不知道它应该是什么我的文档



Answer 7:

System.Diagnostics.Process.Start("...");

我知道它看起来令人怀疑,但只要运行它。 它会工作。 这是我的计算机代码。 我不知道它应该是什么我的文档。

在Windows 7这导致从打开你的可执行文件运行时所在的文件夹,即“当前”文件夹中。



Answer 8:

我不得不打开我的文档,并根据上述评论我缩小了解决方案打开资源管理器无副作用:

Process.Start("::{450d8fba-ad25-11d0-98a8-0800361b1103}");

我测试了它的Windows Server 2008 R2上。



Answer 9:

Samdoss

刚进入

System.Diagnostics.Process.Start(directoryPath);

它很容易。 尝试。



文章来源: How do I open the “My Documents” and “My Computer” folders from C#?
标签: c# shortcut