potisanのプログラミングメモ

趣味のプログラマーがプログラミング関係で気になったことや調べたことをいつでも忘れられるようにメモするブログです。はてなブログ無料版なので記事の上の方はたぶん広告です。記事中にも広告挿入されるみたいです。

Windows11 ファイルの新規作成登録の注意点

メモ帳をアンインストールしたらファイルの新規作成からテキストファイルが消えました。修復過程で気付いた注意点を共有します。

  • 「新規作成」項目の実体は拡張子単位のレジストリキーShellNewHKCR直下の拡張子キーまたは拡張子キー直下のファイル型キーに作成する。
  • ファイル型キーは拡張子キーの既定の値と同名のレジストリキーで通常はHKCR直下だが、新規作成で参照されるShellNewキーは特別扱い。ShellNewキーは拡張子キー直下のファイル型キーに登録できるが、新規作成時の項目名はHKCR直下のファイル型キーの既定値が使われる。
  • 拡張子キーまたはその直下のファイル型キーにShellNewキーを作成しても、HKCR直下のファイル型キーの既定値が空白だと新規作成に表示されない。
    • ShellNewキーにItemName値を登録すれば表示されるかもしれない。ただし、ItemName値はPEファイルのリソース位置のみ。

Windows11でストアアプリ版のメモ帳をアンインストールすると「.txt」は「txtfilelegacy」に関連付けられました。HKCR\txtfilelegacyキーは既定値が空白なので、HKCR\.txtキーまたはHKCR\.txt\txtfilelegacyキーにShellNewキーを作成しても上記の理由から新規作成に追加されません。HKCR\.txt\txtfilelegacyキーの既定値を「テキストファイル」に変更すれば解決しました。