関連付けされていないファイルの種類の [開く] ダイアログ ボックスからアプリケーションを除外する方法

ユーザーが登録されているファイルの種類 (つまり、不明なファイルの種類) のメンバーではないファイルを開く場合、またはユーザーが プログラムから開く または プログラムから開く -> ファイルのショートカット メニューから既定のプログラムを選択すると、シェルにサブメニューまたはダイアログ ボックスが表示されます。これにより、ユーザーはファイルを開くために使用するプログラムを指定できます。

既定では 、HKEY _ CLASSES _ ROOT Applications のサブキーとして登録されているアプリケーションは、[アプリケーションの作成] ダイアログ \ プログラムから開く 表示されます。 これらのアプリケーションは、アプリケーション プログラムから開くファイルの 種類を処理するために登録されているかどうかに関係なく、アプリケーションに表示されます。

アプリケーションを特定のファイルの種類を開く必要がある場合や使用できない場合に、アプリケーションが [プログラムから開く] ダイアログ ボックスに表示されるのを防ぐには、このトピックで説明する 2 つの手法のいずれかを使用します。

Instructions

手順 1:

NoOpenWith エントリをアプリケーションのサブキーに追加します。 アプリケーションでファイルの種類を使用する場合は、Windows推奨プログラムの一覧を作成するためにその情報 を記録 します。 この一覧は、次のスクリーン ショットプログラムから開く サブメニューの一覧に表示されます。

サブメニューが表示された を開いたショートカット メニューのスクリーン ショット

これらの推奨されるアプリケーションは、次のスクリーンショットに示すように、プログラムから開く の [推奨されるプログラム] の部分にも表示されます。

推奨されるプログラムを含むダイアログ ボックスで開く画面のスクリーン ショット

注意

アプリケーションがファイルの種類としてOpenWithListまたは OpenWithProgIDs に登録されている場合、NoOpenWithエントリが設定されている場合でも、推奨されるプログラムの一覧に表示されます。 また、推奨されるプログラムの一覧でアプリケーションが提供されるかどうかに関係なく、ユーザーは任意の実行可能ファイルを手動で参照できます。

アプリケーションでは、アプリケーションのサブキーの下に NoOpenWith 値を指定することで、この追跡を無効にできます。

NoOpenWith エントリは、次の例に示すように空の REG _ SZ 値です。

HKEY_CLASSES_ROOT
   Applications
      MyProgram.exe
         NoOpenWith

NoOpenWith エントリを設定すると、次の効果があります。

  • そのファイルの種類を処理するためにアプリケーションが特に登録されていない限り、ドラッグ アンド ドロップを使用してアプリケーションの ジャンプ リスト にファイルをピン留めしない。
  • 共通ファイル ダイアログ ボックスと SHAddToRecentDocs 関数の呼び出しによって、アプリケーションがファイルの種類を処理するために特別に登録されていない限り、アプリケーションの ジャンプ リスト にファイルが追加されるのを防ぐ。

手順 2:

プログラムから開く ダイアログ ボックスにアプリケーションが表示されるのを防ぐ 2 番目の方法は 、SupportedTypes サブキーを使用して、アプリケーションが開くことができるファイルの種類の拡張子を明示的に一覧表示することです。 これにより、開けできないファイルの種類 プログラムから開くダイアログ ボックスにアプリケーションが表示されるのを防ぐのに役立ちます。 また、前に説明したように、アプリケーションが [推奨プログラム] の一 覧に表示されます。

このメソッドは、アプリケーションが特定のファイルの種類としてファイルを保存できるが、そのファイルの種類を開けない場合に特に便利です。 アプリケーションでは、[保存] ダイアログ ボックスを呼び出す際に _ 、IFileDialog::SetOptionsを使用して FOS DONTADDTORECENT フラグを設定する必要もあります。 これにより、項目が 1 つのオブジェクトの [ 最近] または [頻繁] の部分に追加ジャンプ リスト。 また、OpenWithList の下でアプリケーション が追跡されるのをブロックします

サポートされている各拡張機能は、次の例に示すように 、SupportedTypes サブキーの下にエントリとして追加されます。 エントリの種類は REG _ SZ または REG NULL _ で、値は関連付けになっていません。

HKEY_CLASSES_ROOT
   Applications
      ApplicationName
         SupportedTypes
            .ext1
            .ext2
            .ext3

SupportedTypes サブキーが指定されている場合、これらの拡張子を持つファイルだけが、アプリケーションの ジャンプ リスト にピン留めするか、アプリケーションの [最近] または [頻繁に使用する宛先] の一覧で追跡できます。

NoOpenWith エントリは SupportedTypes サブキーをオーバーライドし、アプリケーションを [サポート] ダイアログ ボックスプログラムから開く 非表示にします。