HOME > Windows > Windows 10 > 拡張子の関連付け > 「このファイルを開く方法を選んでください。」で関連付ける

「このファイルを開く方法を選んでください。」で関連付ける


作成日 2017年11月12日
Microsoft Windows 10 Home  バージョン 1709  ビルド 16299.19  (32ビット)

 1.デスクトップの何もない所を右クリックして、「新規作成」の「テキスト ドキュメント」メニューを実行します。
新しいテキスト ドキュメントのアイコン
    拡張子が表示されない場合は、フォルダ オプションの「表示」タブの「詳細設定」の「登録されている拡張子は表示しない」ボタンのチェックを外してください。

 2.開けないファイルの拡張子に変更します。ここではファイル名を「Test.74」にします。(確認のメッセージに「はい」)
   すると白い紙のアイコンに変更されます。
白い紙のアイコン

 3.このファイルをマウスでダブルクリックして実行します。

 4.「このファイルを開く方法を選んでください。」ダイアログの「その他のアプリ」ボタンを実行し、「常にこのアプリを使って、.74 ファイルを開く」ボタンにチェックを入れます。
このファイルを開く方法を選んでください。
    「このファイルを開く方法を選んでください。」が表示されない場合は、拡張子に関連付けられていないファイルをメモ帳などで開く設定にしている思われます。
     HKEY_CLASSES_ROOT\Unknown\shellキー以下を確認してください。

 5.メモ帳を選択して、「OK」ボタンを実行します。
   このファイルがメモ帳で開きます。
   閉じた後に見るとアイコンは、メモ帳に変更されます。
メモ帳のアイコン
   またこのファイル「Test.74」を右クリックすると、「開く(O)」と「編集(E)」メニューが表示されます。
コンテキストメニュー

 6.レジストリ エディタ(RegEdit.exe)を実行して、確認しましょう。
   HKEY_CLASSES_ROOT.74キーに移動します。

  HKEY_CLASSES_ROOT
    .74 (既定) = 74_auto_file

  拡張子のキーの(既定)のエントリのデータの名前を、ファイルタイプといいます。
  自動で作成されたファイルタイプは拡張子のドット(.)を削除し、後ろに「_auto_file」が付いた名前になります。
  このキーの下でファイルを開くための設定もできましたが、ファイルタイプのキーの下で定義するのが普通です。
  ソフトによってはインストールした時に新規作成したファイルタイプに変更し、アンインストール時に元のファイルタイプに戻します。
  複数の拡張子で同じファイルタイプを参照することもできます。(拡張子の.htm.htmlはファイルタイプがhtmlfileなど)

 7.HKEY_CLASSES_ROOT\74_auto_fileキーに移動します。

  HKEY_CLASSES_ROOT
    74_auto_file (既定) = 
       Shell (既定) = 
          edit (既定) = 
             command (既定) = %SystemRoot%\system32\NOTEPAD.EXE %1
          open (既定) = 
             command (既定) = %SystemRoot%\system32\NOTEPAD.EXE %1

  openキーは「開く(O)」メニュー、editキーは「編集(E)」メニューです。
  openeditキーをアクション(動詞)といいます。
  なぜメニュー名が「開く(O)」や「編集(E)」になるかというと、openeditキーは標準動詞なので指定しないとその国の言語で置き換えられます。
  また拡張子に関連付けられた既定のアクションを指定しないため、既定のアクションであるopenが最初に太字で表示されます。
  標準動詞はOpen、Edit、Printなどの標準動詞を参照してください。

  【注意】しかしWindows 10ではこのファイルタイプのキーは、UserChoiceキーにより無効で参照しません。

 8.Windows 10ではHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.74キーを探します。
   UserChoiceキーにあるエントリのProgIdの値が「Applications\notepad.exe」です。
   このためHKEY_CLASSES_ROOT\74_auto_fileキーは無効になり、HKEY_CLASSES_ROOT\Applications\notepad.exeキーを参照します。
  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
    .74 (既定) = 
       UserChoice (既定) = 
              ProgId = Applications\notepad.exe

このサイトではファイルタイプに関連付けて説明します。
ProgIdの値を「74_auto_file」に変更するか、あるいはUserChoiceキーを削除してください。

ProgIdの値の変更
 ProgIdの値を変更すると、「ProgIdを編集できません。値の内容を書き込み中に、エラーが発生しました。」とエラーメッセージが表示されます。
 アクセスの許可の「種類」が拒否、「アクセス」が値の設定のため変更できないので、この項目を削除します。
 1.UserChoiceキーを選択して、「編集」の「アクセス許可」メニューを実行します。
 2.「詳細設定」ボタンを実行します。
 3.「アクセス許可」タブの「アクセス許可エントリ」リストの「種類」が拒否の項目を選択して「削除」ボタンを実行します。
 4.「OK」ボタンを実行します。「OK」ボタンを実行します。
 5.エントリのProgIdをダブルクリックして、値のデータを「74_auto_file」に変更し「OK」ボタンを実行します。

UserChoiceキーの削除
 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.74キーのUserChoiceキーを選択して、「編集」の「削除」メニューを実行します。

下記は「このファイルを開く方法を選んでください。」ダイアログで作成したレジストリをエクスポートしたレジストリファイルです。
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.74]
@="74_auto_file"

[HKEY_CLASSES_ROOT\74_auto_file]

[HKEY_CLASSES_ROOT\74_auto_file\shell]

[HKEY_CLASSES_ROOT\74_auto_file\shell\edit]

[HKEY_CLASSES_ROOT\74_auto_file\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
  54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
  00

[HKEY_CLASSES_ROOT\74_auto_file\shell\open]

[HKEY_CLASSES_ROOT\74_auto_file\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
  54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
  00


[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.74]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.74\OpenWithList]
"a"="{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\\OpenWith.exe"
"MRUList"="ba"
"b"="NOTEPAD.EXE"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.74\OpenWithProgids]
"74_auto_file"=hex(0):

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.74\UserChoice]
"Hash"="14+YXvG3Edg="
"ProgId"="Applications\\notepad.exe"
「Hash」エントリの値は異なります。
Windows 10では上記のHKEY_CLASSES_ROOTキーは、HKEY_CURRENT_USER\Software\Classesです。(HKEY_LOCAL_MACHINE\SOFTWARE\Classesではありません)

このページの上