Windows 7 以降では、カスケード メニューの実装はレジストリ設定を通じてサポートされています。 Windows 7 より前は、IContextMenu インターフェイスの実装によってのみ、カスケード メニューの作成が可能でした。 Windows 7 以降では、静的メソッドが不十分な場合にのみ、コンポーネント オブジェクト モデル (COM) コード ベースのソリューションに頼る必要があります。
Note
パッケージ化 (MSIX) デスクトップ アプリケーションの場合: アプリが MSIX パッケージとして配布されている場合、または ID にスパース パッケージを使用している場合は、 desktop4:FileExplorerContextMenus 拡張機能を使用して、宣言によってパッケージ マニフェストにコンテキスト メニュー エントリを登録できます。 これにより、コンピューターごとの COM 登録が回避され、Windows 11コンテキスト メニューで動作します。 詳細については、「 パッケージ 化されたデスクトップ アプリをエクスプローラーと統合する」を参照してください。 以下で説明する方法は、パッケージ化されていない (クラシック) Win32 アプリケーションに適しています。
次のスクリーン ショットは、カスケード メニューの例を示しています。
カスケード メニュー
screen shot showing an example of a cascading menuの例を示すスクリーン ショット
Windows 7 以降では、次のセクションで説明するカスケード メニューを作成する 3 つの方法があります。
- SubCommands レジストリ エントリを使用してカスケード メニューを作成する方法
- ExtendedSubCommandsKey レジストリ エントリ を使用してカスケード メニューを作成する方法
- IExplorerCommand インターフェイス を使用してカスケード メニューを作成する方法