将Windows资源管理器打开到Combined-GUID文件夹

时间:2013-03-22 09:09:44

标签: c# .net windows

例如,我希望打开“字体设置”页面。 (它位于控制面板的“字体”下。)

我的GUID如下:

::{26EE0668-A00A-44D7-9371-BEB064C98683}\1\Fonts\::{93412589-74D4-4E4E-AD0E-E0CB621440FD}

<子> 我使用URL接口的NavigateComplete2事件的InternetExplorer得到了它。

我尝试了许多不同的组合,例如:

Process.Start("explorer", @"::{26EE0668-A00A-44D7-9371-BEB064C98683}\1\Fonts\::{93412589-74D4-4E4E-AD0E-E0CB621440FD}");

Process.Start("::{26EE0668-A00A-44D7-9371-BEB064C98683}", @"\1\Fonts\::{93412589-74D4-4E4E-AD0E-E0CB621440FD}");

但没有任何作用。

3 个答案:

答案 0 :(得分:1)

痛苦的迟到回答,但你的问题是,你使用的url是由于某种原因而不被shell url处理程序接受。

要启动您想要的文件夹,可以使用:shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}\1\::{93412589-74D4-4E4E-AD0E-E0CB621440FD}。如果您确实希望字体文件夹成为父文件夹,请尝试shell:Fonts\::{93412589-74D4-4E4E-AD0E-E0CB621440FD}。它为您提供了荒谬的路径&#34; C:\ Windows \ Fonts \ Font设置&#34;

答案 1 :(得分:0)

您需要使用Environment.SpecialFolder Enumeration

System.Diagnostics.Process.Start(
    Environment.GetFolderPath(Environment.SpecialFolder.Fonts)));

答案 2 :(得分:0)

您是否尝试指定 Shell 属性

System.Diagnostics.Process.Start("explorer", @"shell:::{93412589-74D4-4E4E-AD0E-E0CB621440FD}");

Source