3

例如,我想打开“字体设置”页面。(它在控制面板的“字体”下。)

我得到它的 GUID 如下:

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

我使用接口URLNavigateComplete2事件得到它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}");

但没有任何效果。

4

3 回答 3

4

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

要启动您想要的文件夹,您可以使用:shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}\1\::{93412589-74D4-4E4E-AD0E-E0CB621440FD}. 如果您真的希望字体文件夹成为父文件夹,请尝试shell:Fonts\::{93412589-74D4-4E4E-AD0E-E0CB621440FD}. 它为您提供了看起来很荒谬的路径“C:\Windows\Fonts\Font settings”

于 2014-06-17T22:18:27.160 回答
0

You need to use the Environment.SpecialFolder Enumeration:

System.Diagnostics.Process.Start(
    Environment.GetFolderPath(Environment.SpecialFolder.Fonts)));
于 2013-03-22T09:20:20.307 回答
0

您是否尝试指定Shell属性

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

资源

于 2013-03-22T13:02:35.967 回答