确定与 URI 方案关联的默认图标

Determine default icon associated with an URI scheme

本文关键字:默认 图标 关联 方案 URI      更新时间:2023-10-16

我找到了如何将应用程序注册到 URI 方案的方法。此处的示例显示了假设的alert协议的以下注册表结构:

HKEY_CLASSES_ROOT
   alert
      (Default) = "URL:Alert Protocol"
      URL Protocol = ""
      DefaultIcon
         (Default) = "alert.exe,1"
      shell
         open
            command
               (Default) = "C:Program FilesAlertalert.exe" "%1"

有一个DefaultIcon条目,我想查询给定的 URI 方案。但是,我没有发现支持此功能的 API。

如果给我一个 URI 作为字符串,如何在 Win32 中找到关联的默认图标,而不是自己遍历注册表?

SHGetFileInfo() API 适用于文件扩展名(使用 SHGFI_USEFILEATTRIBUTES 标志),但似乎不适用于协议。最终走过注册表。