「* .doc」のように、特定の拡張子(フルパスなし)の説明とデフォルトアイコンを取得するには、いくつかの方法があります。「Microsoft Word文書」と関連するアイコンを取得したいと思います次の最速1:拡張子の名前とアイコンをファイル拡張子で取得する最速の方法は?
は、レジストリ検索: "HKCR {拡張子}" レジストリ内の
- 、に行くを、デフォルト値を読み
- (のは、それがファイルタイプと呼びましょう) "HKCR {filetype} \ DefaultIcon"で、デフォルト値を読み取ります。これはアイコンファイルへのパスです。ファイルが埋め込まれた.exeのように)
- 必要に応じて、上記のファイルからアイコンリソースを抽出する方法を使用してください。
コールAPI ShGetFileInfo。私はこれが少し遅いと信じています。
ロブによると、ここに:How to get icon and description from file extension using Delphi?
はIExtractIcon "は、より柔軟で効率的な" 代替のインターフェースを呼び出します。ただし、IShellFolderインターフェイスを使用し、GetUIObjectOfを呼び出してファイルのIExtractIconインターフェイスを取得し、GetIconLocationとExtractを呼び出してアイコンのハンドルを取得することをお勧めします。 (ただし、この方法では内線番号の説明は読み取れません)
システム内のすべてのファイルタイプの情報を読む必要があるため、速度は非常に重要です。
ありがとうございました!
+1 "テストテストとテストの再試行" – thijs