web-dev-qa-db-ja.com

Notepad ++は私のカスタムアイコンをハイジャックし続けます

注:
Windows 10マシン、64ビット。

FileTypesManを使用していますが、特定の拡張機能のアイコンを正常に変更しています。

enter image description here

結果は次のとおりです。

enter image description here

ここまでは順調ですね。しかし、ファイルをダブルクリックすると、ファイルを開くためのデフォルトのプログラムとしてNotepad ++を選択します。

enter image description here

そして、物事はうまくいきません。 Notepad ++がアイコンをハイジャックします。すべて *.cファイルがNotepad ++アイコンで表示されるようになりました。

Notepad ++がそれを行わないようにするにはどうすればよいですか?

2
K.Mulier

解決策はFileTypesManを使用するのではなく、レジストリ自体を編集することです。長い試行錯誤の末、ファイルタイプにカスタムアイコンを割り当てることができるレジストリ設定を見つけました。


準備

1。レジストリのアクセス許可
Windosレジストリを開き、フォルダHKEY_CLASSES_ROOTおよびHKEY_CURRENT_USERに十分な「権限」を与えます。手順全体を成功させるための最小設定は何かわかりません。設定を少し試してみる必要があります。次の手順でエラーメッセージが表示された場合は、この手順に戻ってレジストリのアクセス許可を増やしてください。

2。いくつかのカスタムアイコンを作成します
たとえばフォルダC:\ICONS\にいくつかのカスタムアイコンを作成します。次のWebサイトを使用します https://iconverticons.com/online/ 256x256pngファイルをicoファイルに変換します。

3。 Notepad ++をインストールします
Notepad ++を入手するだけです。ここでは特別なことは何もありません。

4。管理者権限でターミナルを開きます
Windowsの検索バーにcmdと入力します。表示されるCMDアイコンを右クリックし、ポップアップウィンドウで[管理者として実行]を選択します。


レジストリハッキング

免責事項:レジストリを変更すると、Windowsのインストールに損傷を与える可能性があります。以下の手順を念頭に置いて書き留めましたが、万が一問題が発生した場合の責任は負いかねます。
注:.batファイルにこの手順を使用することはお勧めしません。これは、Windowsにとって非常に重要なファイルタイプです。そのため、標準のレジストリキーを削除するとどうなるかわかりません。

以下の手順では、C:\ICONS\abcfile.icoで作成したカスタムアイコンをすべての*.abcファイルに割り当てる方法について説明します。

1。レジストリハッキング、パート1
最初に追加する必要があるレジストリキーはHKEY_CLASSES_ROOT\.abcです。このキーがすでに存在する場合は、削除することをお勧めします。次のコマンドを使用して、キーとそのすべてのサブキーを削除します。

> REG DELETE HKEY_CLASSES_ROOT\.abc /f

次の図は、このレジストリキーとそのすべてのサブキーを(再)構築する方法を示しています。

enter image description here

手動で実行するか、次のコマンドを実行できます。

> REG ADD HKEY_CLASSES_ROOT\.abc /ve /t REG_SZ /d "abc_auto_file"
> REG ADD HKEY_CLASSES_ROOT\.abc /v BrowserFlags /t REG_DWORD /d 0x00000000
> REG ADD HKEY_CLASSES_ROOT\.abc /v EditFlags /t REG_DWORD /d 0x00000000
> REG ADD HKEY_CLASSES_ROOT\.abc /v PerceivedType /t REG_SZ /d "text"
> REG ADD HKEY_CLASSES_ROOT\.abc\DefaultIcon /ve /t REG_SZ /d "C:\ICONS\abcfile.ico,0"

2。レジストリハッキング、パート2
追加する必要のある2番目のレジストリキーはHKEY_CLASSES_ROOT\abc_auto_fileです。このキーがすでに存在する場合は、削除することをお勧めします。次のコマンドを使用して、キーとそのすべてのサブキーを削除します。

> REG DELETE HKEY_CLASSES_ROOT\abc_auto_file /f

次の図は、このレジストリキーとそのすべてのサブキーを(再)構築する方法を示しています。

enter image description here

手動で実行するか、次のコマンドを実行できます。

> REG ADD HKEY_CLASSES_ROOT\abc_auto_file /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\DefaultIcon /ve /t REG_SZ /d "C:\ICONS\abcfile.ico"
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\Shell /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\Shell\edit /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\Shell\edit\command /ve /t REG_EXPAND_SZ /d "\"C:\Program Files (x86)\Notepad++\notepad++.exe\" \"^%1\""
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\Shell\open /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\Shell\open\command /ve /t REG_EXPAND_SZ /d "\"C:\Program Files (x86)\Notepad++\notepad++.exe\" \"^%1\""

3。レジストリハッキング、パート3
追加する必要のある2番目のレジストリキーはHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abcです。このキーがすでに存在する場合は、削除することをお勧めします。次のコマンドを使用して、キーとそのすべてのサブキーを削除します。

> REG DELETE HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc /f

次の図は、このレジストリキーとそのすべてのサブキーを(再)構築する方法を示しています。

enter image description here

手動で実行するか、次のコマンドを実行できます。

> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc /ve /t REG_SZ
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithList /ve /t REG_SZ
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithProgids /ve /t REG_SZ
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithProgids /v "C:\Program Files (x86)\Notepad++\notepad++.exe" /t REG_NONE /d 0
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithProgids /v abc_auto_file /t REG_NONE /d 0


アイコンキャッシュを更新

次のコマンドは、Windowsアイコンキャッシュを更新する必要があります。

> %windir%\system32\ie4uinit.exe -show


Notepad ++をファイルタイプに割り当てます

ファイルタイプを開くためのデフォルトプログラムとしてNotepad ++を割り当てた後にのみ、変更が有効になる場合があることに気づきました。これはそれを行う方法です:

  • 指定されたファイルタイプでファイルを作成します。例:myFile.abc
  • ファイルを右クリックして、[プログラムから開く] >> [別のアプリ]を選択します
  • 次のようなポップアップウィンドウが表示されます。 enter image description here
  • デフォルトのプログラムとしてNotepad ++を選択します


終了

通常、アイコンが変更されました!そして、その特定のファイルタイプのすべてのファイルにはカスタムアイコンがあります。それらはデフォルトでNotepad ++で開きます。

おそらく、アイコンキャッシュを再度更新する必要があります。

> %windir%\system32\ie4uinit.exe -show

または、システムを再起動して有効にします(ただし、再起動は必要ありませんでした)。

2
K.Mulier