自制获取文件图标工具(getIconImage函数)

By o3o_o3o_o3o at 2022-05-19 • 1人收藏 • 286人看过

原理:把文件创建一个快捷方式,保存到另一个文件夹里(保证这个文件的快捷方式是在文件夹里面的第一位),用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
2022-05-19   #1

另辟蹊径

2022-05-19   #2

登录后方可回帖

登 录
信息栏
公告:
个人博客
专注分享
可在分享中适当提问
谢绝纯提问
否则不再提醒一律
删帖
谢谢合作!



本站域名:HtmLayout.Cn
aardio可以快速开发上位机,本站主要记录了学习过程中遇到的问题和解决办法及aardio代码分享

这里主要专注于aardio学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.

Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
本 站 主 站:Stm32cube中文网
Sciter中文在线文档Sciter在线学习文档
空间赞助:才仁机械
Loading...