C++ 确定与URI方案关联的默认图标
我已经找到了解决问题的方法。该示例显示了假设的C++ 确定与URI方案关联的默认图标,c++,windows,winapi,uri,C++,Windows,Winapi,Uri,我已经找到了解决问题的方法。该示例显示了假设的警报协议的以下注册表结构: HKEY_CLASSES_ROOT alert (Default) = "URL:Alert Protocol" URL Protocol = "" DefaultIcon (Default) = "alert.exe,1" shell open command (Default)
警报协议的以下注册表结构:
HKEY_CLASSES_ROOT
alert
(Default) = "URL:Alert Protocol"
URL Protocol = ""
DefaultIcon
(Default) = "alert.exe,1"
shell
open
command
(Default) = "C:\Program Files\Alert\alert.exe" "%1"
有一个DefaultIcon
条目,我想为给定的URI方案查询它。但是,我没有发现支持这一点的API
如果给我一个URI作为字符串,我如何在Win32中找到关联的默认图标,而不是自己遍历注册表?该图标适用于文件扩展名(使用SHGFI\u USEFILEATTRIBUTES
标志),但它似乎不适用于协议。最后在注册表中漫游。文件扩展名可以使用(使用SHGFI\u USEFILEATTRIBUTES
标志),但它似乎不适用于协议。最后在注册表中漫游。正如您所说,没有用于查询协议详细信息的API。您必须直接从注册表手动读取图标数据。正如您所说,没有用于查询协议详细信息的API。您必须直接从注册表手动读取图标数据。