c# - 使用 c# 打开 shell 位置

标签 c# exec windows-shell

此处列出的代码不会在 C# 中打开文件历史记录:

Process.Start("::{F6B6E965-E9B2-444B-9286-10C9152EDBC5}");

问题出在哪里?它说找不到路径。

使用 Windows“运行”运行以下命令可以正确打开文件历史记录:

shell:::{F6B6E965-E9B2-444B-9286-10C9152EDBC5}

最佳答案

这里有两个问题。目标平台和命令。

With Windows 8 it works for me

它仅适用于 Windows 8,因为它是 Windows 8 中的一项新功能。以前的版本没有任何映射到该 GUID 的内容。

例如,如果您尝试使用以前版本中支持的内容,例如经典的“上帝模式”:

shell:::{ED7BA470-8E54-465E-825C-99712043E01C}

工作正常,

shell:::{F6B6E965-E9B2-444B-9286-10C9152EDBC5}

会给你一条错误消息。

其次,当您调用 Process.Start() 时,您省略了 shell::: 前缀。它应该看起来像:

Process.Start("shell:::{F6B6E965-E9B2-444B-9286-10C9152EDBC5}");

关于c# - 使用 c# 打开 shell 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20467745/

相关文章:

c# - NHibernate:跨多个实例的全局缓存

c# - .NET 如何在 Active Directory 中搜索和获取用户列表

c# - 访问不存在的缩略图

c++ - 为什么控制面板的 PIDL 会有所不同?

c# - 实例变量在实例化后重置为默认值

java - Eclipse 使用运行时 exec 提供与 cmd 不同的输出

java - 从 main() 中启动应用程序。一起指定路径和文件名还是单独指定?

Java Runtime.getRuntime().exec() 带引号

c++ - 如何获取 IShellFolder 的 PIDL

c# - 在 C# 中,存储类动态访问的对象值的最佳方式是什么?