0

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

客户端机器是基于 Windows Server 2008R2 的 Citrix,但很快将升级到 2016。

我知道应用程序的 GUID,可以在

HKLM\SOFTWARE\Classes\CLSID\{GUID}

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

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

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

4

1 回答 1

1

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

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

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

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

于 2019-04-23T19:03:24.913 回答