Pat*_*ick 13 html javascript vbscript wsh hta
我正在构建一个HTA应用程序,我需要在其中显示一个文件列表及其相关的系统图标.
我正在使用FileSystemObject列出文件,但似乎无法获取图标...
我在VBS中找到了一个可以将文件图标保存为.ico的脚本.
它读取文件(PE资源文件,.exe或dll)并解析图标数据.我修改了该脚本以返回图标的字节,将其转换为base64并在HTML中使用嵌入的base64图像.这是原始脚本:http://gilpin.us/IconSiphon/
问题
)在大多数情况下,.ico包含多个图标(许多尺寸和颜色深度),但我无法指定使用哪一个(因为我需要16x16图标).
)并非所有图标都显示
)因为它读取exe和dll,所以文件可能很慢(但我很好,我可以缓存已经获取的图标)
我也试过一些ActiveX控件,但似乎都没有正常工作.甚至微软提供的那些(ShellFolderView或ListView)都非常错误.
要求
必须显示16x16图标
必须允许多个文件选择
一切都必须嵌入hta(如果可能的话).没有外部.exe
有谁知道实现这一目标的方法?
谢谢!
将 SHGetFileInfo() 与 SHGFI_ICON 标志一起使用。
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762179(v=vs.85).aspx