Visula Studio の .slnファイル (ソリューションファイル)のアイコンがファイルによって違うことについて紹介します。
Visula Studio の .slnファイルは実行時にそのソリューションファイルに応じたVisual Studioが起動する動作になっています。そのため、アイコンもソリューションファイルの種別に応じて変化する設定になっています。
レジストリエディtタで、HKEY_CLASSES_ROOT\.sln
を開きます。下図の画面が表示されます。既定の値が VisualStudio.Launcher.sln
となっています。
HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln
にアクセスします。下位にShell/Open/Command
キーとShellEx/IconHandler
が存在していることがわかります。
Shell/Open/Command
キーの既定の値は、"C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" "%1"
となっており、Visual Studioのラウンチャーが起動する設定になっています。
アイコンハンドラーは{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}
の値が設定されています。
HKEY_CLASSES_ROOT\CLSID\{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}
の値を確認します。InprocServer32
キーがあることがわかります。
InprocServer32
キーを確認します。既定の値に `C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSFileHandler_64.dll
` が設定されています。
C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSFileHandler_64.dll
のDLLのリソースを確認します。DLL内にソリューションファイルの種別に応じたアイコンファイルが格納されていることが確認できます。