1) シェル拡張を作成します。シェル拡張機能は、IInitializeCommand、IObjectWithSite、IObjectWithSelection、IExplorerCommand、および IExplorerCommandState を実装する必要があります。
2) シェル拡張を登録します。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\YourCommandID]
@=YourTopCommandCaption
ExplorerCommandHandler=YourCLSID
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{5c4f28b5-f869-4e84-8e60-f11db97c5cc7}\TasksItemsSelected]
@=YourCommandID
TasksItemsSelected キーのデフォルト値が空でない場合は、古い文字列に新しい文字列を追加する必要があります。たとえば、前の値は Windows.copy で、新しい値は Windows.copy;YourCommandID である必要があります
{5c4f28b5-f869-4e84-8e60-f11db97c5cc7} は FOLDERTYPEID_Generic です。
3) IExplorerCommand.GetFlags は ECF_HASSUBCOMMANDS または ECF_ISDROPDOWN を返す必要があります
4) IExplorerCommand.EnumSubCommands は、IEnumExplorerCommand を実装するオブジェクトを返す必要があります。
5) IEnumExplorerCommand.Next は、IExplorerCommand、IObjectWithSite、および IObjectWithSelection を実装するオブジェクトを返す必要があります。すべてのオブジェクトは、サブ メニューの単一のコマンドです。
Win7のみで動作します。