如何使用注册表项隐藏自定义驱动器?

问题描述 投票:0回答:1

我正在开发一个创建自定义驱动器的项目,可以在“这台PC”下访问。请求是尽可能使用注册表项以每个用户为基础隐藏驱动器。

客户端计算机是基于Windows Server 2008R2的Citrix,但很快就会升级到2016。

我知道可以找到的应用程序的GUID

HKLM\SOFTWARE\Classes\CLSID\{GUID}

我没有看到任何明显的东西可以隐藏图标。我还在以下位置创建了GUID:

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideMyComputerIcons\{GUID}

这似乎只有一半的工作。它将隐藏右侧窗格中的图标,但左侧的导航窗格仍会显示该图标。重新启动电脑没有帮助隐藏它。

registry windows-explorer shell-namespace-extension
1个回答
1
投票

从“HKLM \ SOFTWARE \ Classes \ CLSID {GUID} \ ShellFolder”复制“Attributes”值,添加SFGAO_NONENUMERATED的值并将其设置为“HKCU \ SOFTWARE \ Classes \ CLSID {GUID} \ ShellFolder中的”Attributes“值”。

(在Windows计算器中,切换到编程模式,输入HKLM值,单击OR(|)并输入1048576以计算最终属性值)

如果您是此shell扩展的作者,那么您知道这是否是您的文件夹属性的设置方式,或者它们是否在IShellFolder::GetAttributesOf中设置,在这种情况下您可能需要一些自定义代码来隐藏。

如果非枚举不够,您可能还想添加SFGAO_HIDDEN

© www.soinside.com 2019 - 2024. All rights reserved.