こんにちは、阿久津です。WindowsはMS-DOS時代の「属性」を今も引き継いでいます。ファイルもしくはフォルダーのプロパティダイアログを開きますと、「属性」セクションから<読み取り専用><隠しファイル>の有無を付与し、属性の詳細ダイアログではアーカイブの有無を切り替えることが可能です(図01)
MS-DOS時代のファイルやフォルダーに対する属性は、「アーカイブ」「システム」「隠し」「読み取り専用」の4つでしたが、Windows 10では「オフライン」「スクラブファイルなし」「固定」「固定解除」「整合性」「非インデックス対象ファイル」などを付与することもできます(図02)。
ここで注目したいのが「隠し」属性。例えばデスクトップやフォルダー上で同属性を付けたファイルを用意しておけば、必要に応じて表示を隠せるため、ファイル操作が便利になります。リボンUIをサポートしたエクスプローラーからは<隠しファイル>のチェックボックスをオン/オフすることで設定を切り替えられますが、いちいちリボンを開くのは面倒ではないでしょうか(図03)。
そこでデスクトップのコンテキストメニューから隠しファイルの設定を切り替えるチューニングを紹介します。
1. 管理者権限でレジストリエディターを起動します。
2. レジストリエディターが起動したら、HKEY_CLASSES_ROOT\Directory\Background\shell\Windows.ShowHiddenFilesキーを開きます(ない場合は作成します)。
3. 文字列値「CommandStateSync」を作成します。
4. 文字列値「Description」を作成し、データを「shell32.dll,-37573」に変更します。
5. 文字列値「ExplorerCommandHandler」を作成し、データを「{f7300245-1f4b-41ba-8948-6fd392064494}」に変更します。
6. 文字列値「Icon」を作成し、データを「imageres.dll,-5314」に変更します。
7. 文字列値「MUIVerb」を作成し、データを「@shell32.dll,-37572」に変更します。
8. <×>ボタンをクリックして、レジストリエディターを終了します。
これで操作が完了しました(図04~22)。
それでは結果を確認しましょう。前準備として任意のファイルやフォルダーを作成し、プロパティダイアログから<隠しファイル>を有効にしてください。そして、デスクトップの何もないところを右クリックしてコンテキストメニューを呼び出すと、新たに<隠しファイル>が加わったことを確認できます。こちらをクリックすると、隠しファイルの表示・非表示が切り替わります(図23~24)。
今回のチューニングはエクスプローラーのリボンを利用する第426回と似ています。表示・非表示の切り替えを行う「Show Hidden Files Explorer Command」をGUIDで呼び出し、項目名やアイコンは「shell32.dll」や「imageres.dll」から呼び出すことで<隠しファイル>を実現しています。今回は割愛しましたが、通常のフォルダーに対するコンテキストメニューにも追加させたい場合は、HKEY_CLASSES_ROOT\Folder\shell\Windows.ShowHiddenFilesキーを作成してください。本チューニングを破棄する場合は、HKEY_CLASSES_ROOT\Directory\Background\shell\Windows.ShowHiddenFilesキーを削除します。
それでは、また次号でお目にかかりましょう。
阿久津良和(Cactus)