Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 确定与URI方案关联的默认图标_C++_Windows_Winapi_Uri - Fatal编程技术网

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。您必须直接从注册表手动读取图标数据。