【问题标题】:Load the Default Icon For the Shell加载 Shell 的默认图标
【发布时间】:2009-11-20 02:04:20
【问题描述】:

Vista 中的默认图标如下:

HKEY_CLASSES_ROOT\Unknown\DefaultIcon

作为:

%SystemRoot%\System32\shell32.dll,0

我想在 C++ 中加载该图标的 48x48 版本。我试过了:

hIcon = (HICON)::LoadImage(hmShell32, MAKEINTRESOURCE(0), IMAGE_ICON, 48, 48, LR_DEFAULTCOLOR);

但是我得到一个 NULL hIcon,当我调用 ::GetLastError() 时它返回:ERROR_RESOURCE_TYPE_NOT_FOUND

如何从 Shell32.dll 中加载默认图标?

提前致谢, 韦恩·沃尔特·贝瑞

{6230289B-5BEE-409e-932A-2F01FA407A92}

【问题讨论】:

    标签: visual-c++ icons


    【解决方案1】:

    如果您只需要支持 Vista/7,那么这应该可以工作。

    SHSTOCKICONINFO iconInfo;
    iconInfo.cbSize = sizeof(iconInfo);
    如果(成功(SHGetStockIconInfo(SIID_DOCNOASSOC,SHGSI_ICONLOCATION,&iconInfo)))
    {
        wcex.hIcon = (HICON)::LoadImage(LoadLibrary(iconInfo.szPath), MAKEINTRESOURCE(-iconInfo.iIcon), IMAGE_ICON, 48, 48, LR_DEFAULTCOLOR);
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-25
      • 1970-01-01
      • 2013-03-28
      • 2017-02-17
      • 2021-04-10
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      • 2013-03-28
      相关资源
      最近更新 更多