こんにちは、阿久津です。私事ではありますが、先ごろ新著として「Windows 7レジストリ徹底活用マニュアル」を他社から上梓致しました。今回はコンピューター初心者でも、レジストリ操作ができるように基本的な解説を多く含めております。本連載をご覧になってレジストリのロジックに興味を持たれるようになった方は、是非お手に取って頂ければ幸いです。詳しくは筆者のWebサイトにあるリンクからご覧ください。

さて、Windows XP時代の定番カスタマイズとして、コンテキストメニューの表示位置を固定する「MenuDropAlignment」というエントリがありました。そもそもWindows OSでは、コンテキストメニューとトップレベルメニューを表示する位置によって、サブレベルメニューの表示位置を動的に変更する機能を備えています。

例えば、デスクトップ中央部で何もないところを右クリックし、適当な項目を選択してサブレベルメニューを表示させますと、通常は右側に表示されるのはご存じのとおり。しかし、サブレベルメニューの表示領域を確保できないデスクトップ右側をクリックし、適当な項目を選択しますと、同メニューは左側に表示されます(図01~02)。

図01: デスクトップ中央部でコンテキストメニューを表示させますと、サブレベルメニューは右側に表示されます

図02: デスクトップの左側でコンテキストメニューを表示させますと、サブレベルメニューは左側に表示されます

以前からWindows OSは、左側にスタートボタンを設け、メニューは左側に展開されることからもわかるように、右利きのユーザーを前提にしています。しかし、必ずしも皆が右利きではありませんので、このような設定を用意しました(もっとも、GUIダイアログから設定できませんので、マイノリティサポートは万全ではありません)。

実際にメニューの展開先を選択するには、HKEY_CURRENT_USER \ Control Panel \ Desktopキーに文字列値として同エントリを作成するのが通例でした。Windows XPでレジストリカスタマイズを楽しんできた方ならご存じのとおりです。しかし、Windows 7の場合、同キーに同エントリを作成しても動作に影響を及ぼすことはありません(図03)。

図03: HKEY_CURRENT_USER \ Control Panel \ Desktopキーに文字列値「MenuDropAlignment」を作成してもコンテキストメニューの表示形式は通常のままです

これはWindows 7が参照するキーが異なるためであり、同OSでは、HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windowsキーで設定を行ないます(図04~09)。

図04: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図05: レジストリエディターが起動したら、HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windowsキーまでたどって開きます

図06: 右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>を選択します

図07: キー名「新しい値 #1」を「MenuDropAlignment」に変更します

図08: 文字列値「MenuDropAlignment」をダブルクリックで開き、値のデータに「1」と入力して<OK>ボタンをクリックします

図09: 以上の設定を終えたら、レジストリエディターを終了します。設定を有効にするため、<スタート>メニューの電源ボタンから<ログオフ>を選択して、Windows 7に再ログオンしてください

同じように文字列値「MenuDropAlignment」を作成し、データ値を「1」に変更しますと、サブレベルメニューは左側に展開されるようになりました。ただし、表示領域に応じてサブレレベルメニューの位置を自動調整する機能は動作しますので、デスクトップの左側でトップレベルメニューを表示させた場合、サブレベルメニューは右側に展開されます(図10~11)。

図10: エクスプローラを起動し、[Alt]キーを押して任意のメニューを表示させると左側に展開されます

図11: デスクトップの中央部を右クリックし、メニューからサブレベルメニューを表示させると左側に展開されます

つまり、表題における「Windows XP時代のチューニングはWindows 7に適用できるか」という疑問に対しては、"キー位置が異なる"という回答になりました。

一方で気になるのは、Windows 7でこの問題が発生する原因です。国内外の情報を調べてみますと、ペン機能(Tablet PC)が関与しているのではないかと推測できます。筆者自身は体験しておらず、ペン機能を備えるデバイスを使用しておりませんが、同機能の設定内容によって同エントリが作成されるのでしょう。

何らかの理由でサブレベルメニューが左側に展開され、困っているという方がおられましたら、HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windowsキーを参照し、文字列値「MenuDropAlignment」を削除してください。念のため、HKEY_CURRENT_USER \ Control Panel \ Desktopキーに同エントリが存在する場合も削除してからWindows 7に再ログオンすれば、メニューの展開先は初期状態に戻ります。

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)