目標は、.jpg、.png、.tif、および.rawファイルを常にPhotoshop CC 2015で開き、適切なアイコンを使用するようにすることです。
Windows 10がファイルのアイコンを選択する方法については、以下のフローチャートを参照してください。レジストリに変更を加え、結果を観察することでこれを思いつきました。
UserChoice
キーProgId
値で定義されたファイルタイプは、拡張子キーで定義されたファイルタイプを上書きします。UserChoice
key ProgId
値がApplication/Photoshop.exe
に設定されます。UserChoice
key ProgId
値を変更できませんUserChoice
キーを削除できませんUserChoice
キーで定義されたファイルタイプを上書きする方法はありますか?UserChoice
キーのProgId
値が何に設定されるかを決定するものと、.tifがPhotoshop.TIFFFile.90
になり、.pngと.jpgの結果はApplication/Photoshop.exe
?UserChoice
キーに必要なハッシュを生成する方法はありますか?UserChoice
キーハッシュをチェック/要求するのを止める方法はありますか?Photoshop.JPEGFile.90
のようなファイルタイプを常時オープンアプリとして指定する方法はありますか?UserChoice
キーを保護/再作成するのを防ぐ方法はありますか?レジストリの変更は、Explorer.exeが再起動/更新されるまで有効になりません。タスクマネージャーを使用してExplorer.exeを強制終了して再起動するか、 DesktopRefresh.exe を使用できます。
UserChoice
キーは、次の2つの場所に存在できます。
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg\UserChoice
HKCU\SOFTWARE\Microsoft\Windows\Roaming\OpenWith\FileExts\.jpg\UserChoice
一方が存在しない場合は、もう一方が使用されます。したがって、変更を加える場合は、必ず両方を削除/変更してください。
HKCR\.jpg
HKCR\Photoshop.JPEGFile.90
UserChoice
キー:HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg\UserChoice
Photoshopが最初にインストールされたとき、それはすべてのファイル拡張子を関連付け、すべてが素晴らしかった。ある時点で、Photosアプリで常に.png、.jpg、.tif、および.rawファイルを開きたいと思いました。だから私は:.png/.jpg/.tif /.rawファイルを右クリック->で開く->別のアプリを選択->写真を選択->「このアプリで常に.pngファイルを開く」にチェックを入れます。ここで、Photoshopでのオープニングに戻りたいと思います。以前と同じように、常に使用するアプリとしてPhotoshopを選択しました。これで、.jpg、.png、.tif、および.rawファイルがPhotoshopで開きます。ただし、.tifファイルには正しいアイコンが表示されますが、.jpg、.png、および.rawにはPhotoshop.exeアイコンが表示されます。
Photoshopを再インストールしようとしましたが、効果がありませんでした。 Adobe Bridgeを使用してファイルの関連付けをリセットしようとしましたが、それも役に立ちませんでした。ファイルタイプマネージャーやデフォルトプログラムエディターなどのツールは機能しません(理由は以下で説明します)。
次に、Windows10が特定のファイルに表示するアイコンをどのように選択するかを調べ始めました。私は学んだ:
私の場合、.jpg、.png、.tif、.rawでは、Photoshopが常に開いているアプリとして設定されています。これは、を介してレジストリに反映されます。
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg\UserChoice
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png\UserChoice
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\UserChoice
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.raw\UserChoice
キー。ここで、.tifと.jpg/.png /.rawの違いがわかります。 .tifのProgId
値はPhotoshop.TIFFFile.90
ですが、.jpg、.png、および.rawの値はApplications\Photoshop.exe
です。つまり、.tifはPhotoshop.TIFFFile.90
ファイルタイプに正しく関連付けられていますが、.jpg.pngと.rawはファイルタイプApplications\Photoshop.exe
に関連付けられています。
.jpg、.png、および.rawはすべてそのファイルタイプを使用するため、Applications\Photoshop.exe
ファイルタイプのアイコンを単純に変更することはできません。したがって、同じアイコンが3つの拡張機能で使用されます。拡張機能ごとに一意のアイコンを指定することはできません。これが、ファイルタイプマネージャーとデフォルトのプログラムエディターツールが機能しない理由です。この場合、ファイルタイプのDefaultIconを設定します。
解決策は単純に見えました。ProgId
キーのUserChoice
値を変更して、Photoshop.JPEGFile.90
、Photoshop.PNGFile.90
、およびPhotoshop.RAWFile.90
ファイルタイプを使用します。これは、Windows10ではもう不可能です。新しいセキュリティ対策により、Hash
キーのProgId
値に付随するUserChoice
値が追加されます。このハッシュを生成する方法を知っているのはWindowsだけです。ハッシュがProgId
値に対して正しくない場合、WindowsはUserChoice
キーをリセット/削除します。これにより、この値はWindowsGUIを介してのみ設定できるようになります。アイデアは、ウイルス/攻撃者が拡張機能用の常時オープンアプリをプログラムで変更できないようにすることです。
Photoshopを常時オープンアプリとして選択した結果、正しいProgId
が.tifに設定されたが、.jpg、.png、.rawには設定されなかった理由はわかりませんが、それは不可能のようです。修正。この時点で、私は.tgaのように触れたことのない他の拡張子を見始めました。 .tgaにalways-open-withアプリを設定したことがないため、UserChoice
キーがありませんでした。代わりに、.tgaの拡張キーは、次のように関連するタイプを定義しました。
[HKCR\.tga]
@="Photoshop.TGAFile.90"
別の一見単純な解決策:UserChoice
キーを削除して、always-open-withアプリの設定を解除し、拡張キーでファイルタイプを定義します。これは.rawでは機能しましたが、.jpgと.pngでは機能しませんでした。 .jpgおよび.pngのUserChoice
キーを削除すると、次のエラーが表示されたWindows通知が表示されました。
アプリのデフォルトがリセットされました
アプリが.jpgファイルのデフォルトのアプリ設定で問題を引き起こしたため、写真にリセットされました
レジストリを更新しましたが、確かにUserChoice
キーが戻ってきました。 Windowsは一部の拡張子(.jpgや.pngなど)を保護しており、UserChoice
キーを削除できないことがわかりました。
したがって、UserChoice
キーを削除したり、UserChoice.ProgId
を正しい値に更新したり、UserChoice.ProgId
...で指定されたファイルタイプを上書きしたりすることはできません。今?
私はハッキーな回避策を見つけましたが、適切でハッキーでない解決策を見つけることができるように、上記の質問に対する回答を得たいと思います。
以下の初心者向けのステップバイステップ。
ダミーの.cmdファイルを作成し、GUIを使用して拡張機能の常時オープンアプリとして設定します。これにより、Windowsはダミーの.cmd "app"の新しいファイルタイプを作成し、UserChoice
キーProdId
値(例:Application/customJPEG.cmd
)を設定して拡張子に関連付けます。一意の名前のダミー.cmdファイルを使用して、拡張子ごとにこのプロセスを繰り返します。bamには、各拡張子に関連付けられた一意のファイルタイプがあります(例:Application/customJPEG.cmd
、Application/customPNG.cmd
など)。その後、アイコンをカスタマイズし、新しいファイルタイプごとに個別にコマンドを開いたり編集したりできます。
Windowsがファイルのアイコンを選択する方法の詳細については、元の質問のフローカートを参照してください。
注:この回避策は、.jpgや.pngなどの保護された拡張子にのみ必要です。保護されていない拡張機能の解決策については、上記の私の質問を参照してください。ただし、この回避策は、どの拡張機能でも機能するはずです。
クイックボキャブラリー:
注:。jpgや.pngなどの画像ファイル拡張子は、画像のサムネイルを表示します。アイコンを表示するには、空のファイルを作成するか(サムネイルを生成できないようにする)、エクスプローラーウィンドウを開いて[表示]を[詳細]に設定します。
注:デスクトップを更新するまで、何も変更されません。レジストリに変更を加えた後は、必ずこれを行ってください。詳細については、手順6を参照してください。
注:レジストリにキーがないように思われる場合は、F5キーまたは[表示]-> [更新]を押して更新してみてください。 regeditは最新の状態に保たれず、最新のものを表示するには更新が必要です。
ファイル拡張子ごとに、以下の手順を繰り返します。 .jpgをファイル拡張子に置き換え、Photoshopを任意のアプリに置き換えます。
customJEPG.cmd
のようなものを使用して、保存しますどこに保存するか、何に名前を付けるかは関係ありません名前はファイルタイプごとに異なる必要があります。ダミーの.cmdの名前によって、ファイルタイプの名前が決まります。後で区別しやすいように、名前に拡張子またはファイルタイプを含めることをお勧めします。
複数のファイル拡張子で同じファイルタイプを共有する場合は、拡張子ごとに上記の手順1〜7を繰り返します。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg\UserChoice
ProgId
の値をコピー/書き留めます。これは、現在.jpg拡張子に関連付けられているファイルタイプです。ファイルタイプはApplications\{the name of your dummy .cmd}
である必要があります。例:Applications\customJPEG.cmd
。
HKEY_CLASSES_ROOT\
に移動しますApplications\customJEPG.cmd
の場合、次を開きます。HKEY_CLASSES_ROOT\Applications\customJEPG.cmd
DefaultIcon
という名前の新しいキーを内部に作成しますDefaultIcon
キーの(デフォルト)値を、使用するアイコンへのパスに設定します。例:E:\Tools\Adobe\Adobe Photoshop CC 2015\Photoshop.exe,30
Shell\open\command
キーを開きます。例:HKEY_CLASSES_ROOT\Applications\customJEPG.cmd\Shell\open\command
"E:\Tools\Adobe\Adobe Photoshop CC 2015\Photoshop.exe" "%1"
Shell
キーが存在しない場合はその中にedit\command
キーを作成します。例:HKEY_CLASSES_ROOT\Applications\customJEPG.cmd\Shell\edit\command
open\command
キーと同じ値になるようにします。例:"E:\Tools\Adobe\Adobe Photoshop CC 2015\Photoshop.exe" "%1"
デスクトップを更新するまで、何も変更されません。これを行うには3つの方法があります。
ie4uinit.exe -show
を実行します。 Windows 7および8では、ie4uinit.exe -ClearIconCache
を実行します。 (このヒントを提供してくれた @ Tony に感謝します。)または、Explorer.exeを再起動できます。
Explorer.exe
を見つけますExplorer.exe
->タスクの終了を右クリックし、プロセスの終了をクリックしますExplorer.exe
と入力し、[OK]をクリックします「このファイルをどのように開きますか?」ウィンドウが再びポップアップし、上部の[このアプリを使用し続ける]でダミーの.cmdファイルが選択されていることを確認し、[常にこのアプリを使用して.jpgファイルを開く]をオンにして、[OK]をクリックします。
ダミーの.cmdファイルを削除できます。これはオプションです。
多くの場合、アプリの.exeには複数のアイコンが含まれます。たとえば、Photoshop.exeには、サポートするさまざまなファイルタイプのすべてのアイコンが含まれています。これらのアイコンを見つけて使用する方法は次のとおりです。
(column - 1) * 4 + row - 1
を使用できます。たとえば、アイコンが列6、行3にある場合、(6 - 1) * 4 + 3 - 1 = 22
C:\Example\Photoshop.exe,23
さて、 マイクの答え はとても良いです。また、補足として、手順6(デスクトップの更新)で次のコマンドを実行できます。
ie4uinit.exe -show
win10が新しいアイコンをリロードするため。
Win 7および8の実行の場合:
ie4uinit.exe -ClearIconCache