自制获取文件图标工具(getIconImage函数)
By
o3o_o3o_o3o
at 2022-05-19 • 1人收藏 • 235人看过
原理:把文件创建一个快捷方式,保存到另一个文件夹里(保证这个文件的快捷方式是在文件夹里面的第一位),用win.ui.explorer里的loadFile把快捷方式的图标显示出来,截个图,再关闭explorer的窗口(速度要快),再把图片保存一下。
值得一提的是:这个东西也可以获取文件夹的图标。
import win.ui; import fsys.lnk; import win.ui.explorer; import soImage; lnk=fsys.lnk(); Img = soImage(); getIconImage = function(filepath){ var Form = win.form(text="aardio form";right=200;bottom=70) Form.add(treeview={cls="treeview";left=-54;top=0;right=50;bottom=70;asel=false;bgcolor=16777215;edge=1;z=1}) string.save("F:\getIconImage\1.lnk","1"); lnk.path = filepath; lnk.save("F:\getIconImage\1.lnk") var explorer = win.ui.explorer( Form.treeview ); explorer.setIconSize("extralarge") explorer.loadFile("F:\getIconImage"); Form.setPos(-300,-300,,,1/*_HWND_BOTTOM*/); Form.show(true); Form.setPos(0,0,,,1/*_HWND_BOTTOM*/); win.delay(150); Img.capture(Form.treeview.hwnd); Img.crop(69,2,129,66); Img.save("\icon.jpg"); Form.close(); } getIconImage(/*路径*/);
可能会因为电脑版本的不同,crop的位置也会不同。这是我使用的电脑:
版本:Windows 10 家庭中文版
版本号:21H
操作系统内部版本:19044.1706
2 个回复 | 最后更新于 2022-05-19
登录后方可回帖
另辟蹊径