我用了两个GUID来打开文件夹, 我的电脑 , 我的文档 。
Process.Start("iexplore.exe", "::{20d04fe0-3aea-1069-a2d8-08002b30309d}");
Process.Start("iexplore.exe", "::{450d8fba-ad25-11d0-98a8-0800361b1103}");
但它打开Internet Explorer,然后打开文件夹我的电脑 , 我的文档 。
我用了两个GUID来打开文件夹, 我的电脑 , 我的文档 。
Process.Start("iexplore.exe", "::{20d04fe0-3aea-1069-a2d8-08002b30309d}");
Process.Start("iexplore.exe", "::{450d8fba-ad25-11d0-98a8-0800361b1103}");
但它打开Internet Explorer,然后打开文件夹我的电脑 , 我的文档 。
更妙的是将跳过explorer
完全而直接的“开始”的GUID:
Process.Start("::{20d04fe0-3aea-1069-a2d8-08002b30309d}");
...
使用这些硬编码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在评论中指出这一点)
你有没有尝试过:
Process.Start("explorer.exe", "::{20d04fe0-3aea-1069-a2d8-08002b30309d}");
Process.Start("explorer.exe", "::{450d8fba-ad25-11d0-98a8-0800361b1103}");
?
尝试Explorer.exe的:
Process.Start("explorer.exe", "::{20d04fe0-3aea-1069-a2d8-08002b30309d}");
Process.Start("explorer.exe", "::{450d8fba-ad25-11d0-98a8-0800361b1103}");
这并不适用于我的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}");
System.Diagnostics.Process.Start("...");
我知道它看起来令人怀疑,但只要运行它。 它会工作。 这是我的计算机代码。 我不知道它应该是什么我的文档 。
System.Diagnostics.Process.Start("...");
我知道它看起来令人怀疑,但只要运行它。 它会工作。 这是我的计算机代码。 我不知道它应该是什么我的文档。
在Windows 7这导致从打开你的可执行文件运行时所在的文件夹,即“当前”文件夹中。
我不得不打开我的文档,并根据上述评论我缩小了解决方案打开资源管理器无副作用:
Process.Start("::{450d8fba-ad25-11d0-98a8-0800361b1103}");
我测试了它的Windows Server 2008 R2上。
Samdoss
刚进入
System.Diagnostics.Process.Start(directoryPath);
它很容易。 尝试。