ExtendedSubCommandsKey レジストリ エントリを使用してカスケード メニューを作成する方法

Windows 7 以降では、 ExtendedSubCommandsKey サブキーを使用して、拡張カスケード メニューを作成できます。

次のスクリーン ショットは、拡張カスケード メニューの例です。

デバイスの拡張カスケード メニューを示すスクリーン ショット

HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEの組み合わせであるため、HKEY_CURRENT_USER\ソフトウェア\クラス サブキーの下にサブバーブを登録できます。 その利点は、昇格されたアクセス許可が必要ないということです。 他のファイルの関連付けでは、同じ ExtendedSubCommandsKey サブキーを指定することで、この動詞のセット全体を再利用できます。 この動詞のセットを再利用する必要がない場合は、親の下に動詞を一覧表示できます。 この場合は、このセクションのレジストリ エントリの例に示すように、親の既定値が空であることを確認します。

Instructions

手順 1:

たとえば、HKEY_CLASSES_ROOT ProgID\シェル\CascadeMenuKeyの下\にサブキーを作成し、CascadeMenuKey に CascadeTest などの名前を付けます。 次に、REG_SZ種類の MUIVerb エントリ 追加し、次のレジストリ例に示すように、[テスト カスケード メニュー 2] などの名前を付けます。

HKEY_CLASSES_ROOT
   txtfile
      shell
         CascadeTest
            MUIVerb = Test Cascade Menu 2

手順 2:

作成した CascadeTest サブキーの下に ExtendedSubCommandsKey サブキーを追加し、( REG_SZ 型の) ドキュメント サブコマンドを追加します。例えば:

HKEY_CLASSES_ROOT
   txtfile
      Shell
         Test Cascade Menu 2
            (Default)
            ExtendedSubCommandsKey
               Layout
               Properties
               Select all

[テスト カスケード メニュー 2] サブキーの既定値が空で、(値が設定されていない) として表示されていることを確認します。

手順 3:

次のいずれかの静的動詞実装を使用して、サブバーブを設定します。 CommandFlags サブキーは EXPCMDFLAGS 値を表します。 カスケード メニュー項目の前後に区切り記号を追加する場合は、ECF_SEPARATORBEFORE (0x20) またはECF_SEPARATORAFTER (0x40) を使用します。 これらの Windows 7 以降のフラグの説明については、「 IExplorerCommand::GetFlags」を参照してください。 ECF_SEPARATORBEFOREは、最上位のメニュー項目に対してのみ機能します。 MUIVerb は REG_SZ 型で、CommandFlags は REG_DWORD 型です。

HKEY_CLASSES_ROOT
   txtile
      Shell
         Test Cascade Menu 2
            (Default)
            ExtendedSubCommandsKey
               Shell
                  cmd1
                     MUIVerb = Notepad
                     command
                        (Default) = %SystemRoot%\system32\notepad.exe %1
                  cmd2
                     MUIVerb = Wordpad
                     CommandFlags = 0x20
                     command
                        (Default) = C:\Program Files\Windows NT\Accessories\wordpad.exe %1

解説

次のスクリーン ショットは、前のレジストリ キーエントリの例の図です。

メモ帳とワードパッドの選択肢を示すカスケード メニューの例を示すスクリーン ショット