こんにちは、阿久津です。今年も残すところ一週間を切りましたが、マヤ文明の長期暦を起因とする人類滅亡説も何事もなく終え、2012年も終えようとしています。政治から経済など各界の出来事を取り上げると枚挙に暇がありません。コンピューター業界においては、Windows 8の登場が最大のイベントでしょう。3年ぶりの新OSは、15年以上にも及んだスタートボタンを廃し、新たに搭載したスタート画面は賛否両論。
旧来のスタートボタンを復活させるClassic Shell(設定項目などを日本語化したClassic Shell Jもあります)を導入する方も多く見られますが、長年親しまれたUI(ユーザーインターフェース)の変更は多大な影響を与えるのは改めて述べるまでもありません。最近ではLinuxのデスクトップ環境であるGNOME(グノーム)のバージョンアップに伴ってUIを刷新。こちらも賛否両論を巻き起こしていました(図01)。
Linuxはディストリビューションに左右されますが、異なるソフトウェアをパッケージとして導入すれば、難なくUIを変更できます。Windows OSとLinuxを単純比較する意味はありませんが、旧UIと新UIを切り替える機能を用意すれば、Windows 8の評価はより高いものになったのではないでしょうか。今後登場する予定のWindows Blue(開発コード名)でどのような変更が加わるか予測できませんが、UIに関する改良は強く望みたいものです。
さて、Windows 8のスタート画面は各アプリケーションをピン留めする領域です。Windowsストアアプリなら電子メールアカウントなどをピン留めできますが、テキストファイルなど各種ファイルをピン留めすることはできません。実行ファイルなどのコンテキストメニューには、<スタートにピン留め>という項目が用意されていますが、同項目が現れるのは実行ファイル(拡張子「.exe」)やショートカットファイル、フォルダーやドライブ、ライブラリやMicrosoft Common Console Document(拡張子「.msc」)に限定されます(図02~03)。
図02 ショートカットファイルのコンテキストメニュー。スタート画面にピン留めする<スタートにピン留め>という項目が現れます |
図03 こちらはテキストファイルのコンテキストメニュー。ピン留めを実行する項目は用意されていません |
以前、「コンテキストメニューの<スタートにピン留め>を削除する」というチューニングを紹介しましたが、<スタートにピン留め>という項目を実現しているのは、pintostartscreenキーであり、サブキーで呼び出しているクラスID「{470C0EBD-5D73-4d58-9CED-E91E22E23282}」です。このキーをすべてのファイルが参照するHKEY_CLASSES_ROOT\*\shellキーに作成すれば、テキストファイルなどのコンテキストメニューにも同項目を実現できるのではと試したところ、正しく動作しました。2012年最後のチューニングは、すべてのファイルをピン留め可能にする方法を紹介します。
1. 管理者権限でレジストリエディターを起動します。
2. HKEY_CLASSES_ROOT\*\shell\pintostartscreenキーを開きます(ない場合は作成します)。
3. 文字列値「Description」を作成し、値のデータを「@shell32.dll,-51202」に変更します。
4. 文字列値「MUIVerb」を作成し、値のデータを「@shell32.dll,-51201」に変更します。
5. 文字列値「MultiSelectModel」を作成し、値のデータを「Single」に変更します。
6. 文字列値「NeverDefault」を作成します。
7. HKEY_CLASSES_ROOT\*\shell\pintostartscreen\commandキーを開きます(ない場合は作成します)。
8. 文字列値「DelegateExecute」を作成し、値のデータを「{470C0EBD-5D73-4d58-9CED-E91E22E23282}」に変更します。
9. [F5]キーを押してからレジストリエディターを終了します。
これでチューニングが終了しました(図04~24)。
図04 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします |
図05 レジストリエディターが起動したら、HKEY_CLASSES_ROOT\*\shellまでキーをたどって開きます |
図10 文字列値「Description」をダブルクリックし、値のデータを「shell32.dll,-51202」に変更して<OK>ボタンをクリックします |
図11 続いて右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>とクリックします |
図12 値名を「新しい値 #1」から「MUIVerb」に変更します |
図13 文字列値「MUIVerb」をダブルクリックし、値のデータを「@shell32.dll,-51201」に変更して<OK>ボタンをクリックします |
図16 文字列値「MultiSelectModel」をダブルクリックし、値のデータを「Single」に変更して<OK>ボタンをクリックします |
図17 再度右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>とクリックします |
図22 値名を「新しい値 #1」から「DelegateExecute」に変更します |
図23 文字列値「DelegateExecute」をダブルクリックし、値のデータを「{470C0EBD-5D73-4d58-9CED-E91E22E23282}」に変更して<OK>ボタンをクリックします |
それでは結果を確認してみましょう。テキストファイルなどこれまで<スタートにピン留め>が表示されないファイルを右クリックしてください。するとコンテキストメニューには同項目が加わったことを確認できます。そのまま同項目を選択すればスタート画面にピン留めされ、クリックすることで関連付けたアプリケーションで開くことができます(図25~26)。
今回はHKEY_CLASSES_ROOT\exefile\shell\pintostartscreenキーの内容を、そのままHKEY_CLASSES_ROOT\*\shellキーにコピーしたものですが、予想どおり動作しました。前回の記事ほどではありませんが、今回の手順も冗長ですので、レジストリファイルを用意しました。
リンクからZIP形式ファイルをダウンロードし、展開後に現れる「Contextmenu_All_PinToStartScreen.reg」をダブルクリックしてください。確認をうながすダイアログが現れたら<はい>→<OK>とボタンをクリックします。なお、本チューニングを無効にする場合は、HKEY_CLASSES_ROOT\*\shell\pintostartscreenキーを削除してください。
それでは、また来年お会いしましょう。
阿久津良和(Cactus)