2012年4月9日月曜日

ナビゲーションウィンドウの項目を非表示にする 2 (Attributesで非表示)

Attributes で非表示

アクセス権の変更は不要ですが、デスクトップアイコンが表示されなくなります。
HKLM や HKCR ではなく HKCU を使い、簡単かつ安全に設定しています。

ShellFolderのAttributesで非表示にする


基本的に前回の、System.IsPinnedToNameSpaceTree の方法と同じですので、設定ファイルのみにしました。コメントの数値は HKLM の Default のデータです。

適用するには再ログインが必要です。

元に戻すには、追加したキーや値を削除するのみです。

そのまま実行するとナビゲーションペインの全ての項目が非表示になります。

Windows Registry Editor Version 5.00

; Library
[HKEY_CURRENT_USER\Software\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder]
"Attributes"=dword:b090010d
; b080010d

; Computer
[HKEY_CURRENT_USER\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\ShellFolder]
"Attributes"=dword:b094010c

; Favorites
[HKEY_CURRENT_USER\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder]
"Attributes"=dword:a9400100
; a0900100

; Other Users Folder (HomeGroup)
[HKEY_CURRENT_USER\Software\Classes\CLSID\{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}\ShellFolder]
"Attributes"=dword:b094010c
; b084010c

; Computers and Devices (NetWork)
[HKEY_CURRENT_USER\Software\Classes\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder]
"Attributes"=dword:b0940064
; b080010d

この方法は早くから披露されていましたが、Attributesのフラグの意味がどうしても分かりません。

SFGAO (Windows) の内容がそれに当たるのではないかと思いましたが、難しすぎてよく分からないのと、少し試してみましたが機能しませんでした。

そのため、Attributes は一般によく知られているデータをそのまま拝借しました。