サードパーティのツールなしでできる最善の方法はおそらくPIMP_JUICE_ITの答えです(ただし、その答えは単に新しい補助動詞を追加することであり、Windowsの「開く」とは関係ありません。機能に応じて名前を付ける必要があります)。
しかし、私は何が起こっているのか、その理由についての技術的な詳細を説明しようとします:
「アプリケーションから開く」サブメニューは、IContextMenuシェル拡張として実装され、の下に登録されHKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
ます。シェルフォルダー内の1つ以上のアイテムを右クリックすると、シェルHKEY_CLASSES_ROOT
はメニューを作成するためにさまざまなキーを調べます。下のエントリ...\shellex\ContextMenuHandlers
は動的で、追加するメニュー項目(ある場合)の数を決定する実際のコンピューターコードを実行します。
Microsoftは、「開く」拡張機能をコーディングして、1つの例外を除いて、単一のファイルを選択した場合にのみサブメニューを追加するように思われます。複数のショートカット(.lnk)を選択しても、サブメニューが表示されます(少なくとも私のWindows 8マシンでは)。手足に出て、ショートカットの処理はバグだと言います。
メニューが複数のファイルで機能しなかった技術的な理由はありません。実際、Windows XPでは正常に機能していました。
私は彼らがそれを削除した主な理由を推測しています。ユーザーがさまざまな種類のファイルを選択したらどうしますか?しかし、これにはすでに先例があります。さまざまな種類のファイルを選択し、Enterキーを押してすべてを開くことができます。これを行うと、シェルはフォーカス長方形を持つアイテムに関連付けられたアクションを使用するだけです。
サードパーティのソフトウェアベンダーは、複数のファイルで機能する同様のメニューを作成できます。唯一の制限はあるため、複数のファイルがある場合、メニューの一番下にある「他のアプリを選択して」/「既定のプログラムの選択」の項目は、おそらく無効にする必要があることである公式の方法、そのダイアログを呼び出すためには、単一のファイルパスをサポートしています。メニューに入力するには、SHAssocEnumHandlersを使用して、指定されたファイルタイプで使用可能なアプリケーションのリストを作成します。
これは、複数のファイルをサポートするためだけに「Open With」拡張機能を再実装するために時間を費やしたことがないような技術的なケースです。