首页 > 解决方案 > 如何从文件中获取图标,然后将其设置为创建的快捷方式?

问题描述

首先,我试图通过SHGetFileInfowindows 功能获取图标。

SHFILEINFO targetFileInfo;
std::memset(&targetFileInfo, 0, sizeof(targetFileInfo));

SHGetFileInfo((LPSTR) "file.txt", 0, &targetFileInfo, 
               sizeof(targetFileInfo),SHGFI_ICONLOCATION);

然后,我尝试使用我编写的函数targetFileInfo.hIcon创建一个快捷方式。targetFileInfo.iIcon

CreateShortcut((LPSTR)application_path,                    
                  (LPSTR)target_app_path_lnkext,                
                  (LPSTR) "Testr",                            
                  targetFileInfo.hIcon,                            
                  targetFileInfo.iIcon);

在该函数中,我的代码如下所示:

// CreateShortcut 
// ...
psl->SetIconLocation((LPCSTR)hIcon, iIcon);    
// ...

( pslis a IShellLink*) 函数运行,一切正常。但是快捷方式是使用默认图标创建的,而不是使用我设置它使用的图标。

标签: c++windowscom

解决方案


推荐阅读