官方提供的办法不能在listview中显示出快捷方式的图标,用dll可以把快捷方式图标显示在菜单(Menu)上,但在Listview上就不行,只会显示一个空的图标,希望大佬们能帮忙解决一下。
代码:
Change_Icon_Gui := Gui()
Link_LV := Change_Icon_Gui.Add(“ListView”, “x10 y10 r20 w700 ” , [“Name”, “TargetPath”, “Path”, “Dir”])
Loop Files, A_Desktop “*.lnk” {
Link_Name := StrReplace(A_LoopFileName, “.lnk”)
FileGetShortcut A_LoopFileFullPath, &Link_TargetPath_1, &Link_Dir
fileinfo := Buffer(fisize := A_PtrSize + 688)
if DllCall(“shell32SHGetFileInfoW”
, “WStr”, A_LoopFileFullPath
, “UInt”, 0
, “Ptr”, fileinfo
, “UInt”, fisize
, “UInt”, 0x100)
{
hicon := NumGet(fileinfo, 0, “Ptr”)
imageList := IL_Create(10)
Link_LV.SetImageList(imageList)
IL_Add(imageList, “HICON:” hicon)
Link_LV.Add(“Icon” . “HICON:” hicon, Link_Name, Link_TargetPath, A_LoopFileFullPath, Link_Dir)
}
}
Change_Icon_Gui.Show()
操作系统:Windows on Arm
AHK版本:V2.07