如何读取Windows资源管理器文件夹选项中的「显示此电脑」和「显示网络」设置
适配文件夹选项中「显示此电脑」和「显示网络」设置的问题
我正在开发一款类Windows资源管理器的应用,需要适配「文件夹选项」对话框中的各项设置。目前已找到大部分设置的读取方式,但仍缺少**「显示此电脑」和「显示网络」**两项的适配方案。
多数旧版设置可通过WIN32 API函数SHGetSetSettings读取和设置,示例代码如下:
Private Function readDoHideKnownFileExtensions() As Boolean Dim mask As SSF = SSF.SSF_SHOWEXTENSIONS Dim val As SHELLSTATE Functions.SHGetSetSettings(val, mask, False) Return Not val.Data1 = SSF.SSF_SHOWEXTENSIONS End Function Public Property DoHideKnownFileExtensions As Boolean Get Return _doHideKnownFileExtensions End Get Set(value As Boolean) Dim mask As SSF = SSF.SSF_SHOWEXTENSIONS Dim val As SHELLSTATE val.Data1 = If(value, 0, SSF.SSF_SHOWEXTENSIONS) Functions.SHGetSetSettings(val, mask, True) End Set End Property
但针对较新的设置,只能转而使用注册表。我尝试用Process Monitor监控修改这两项设置时的注册表写入操作,未获取到有效信息。
曾在网上看到资料称,Windows 11中「显示网络」对应的注册表项为:
[HKEY_CURRENT_USER\Software\Classes\CLSID{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}]
"System.IsPinnedToNameSpaceTree"=dword:00000000
但我的机器中不存在该键值,手动添加后虽能隐藏导航窗格中的「网络」,但文件夹选项对话框中的对应选项仍显示为勾选状态,无法同步识别该设置。而我的核心需求是读取Windows资源管理器的当前设置,因此该方案不可行。
需要适配的系统包括Windows 7、8、8.1、10和11。
补充:我已为其他大部分设置编写了对应代码。
内容的提问来源于stack exchange,提问作者miss programmer
相关产品推荐
相关产品推荐

