问题求助哪位知道怎么用api取图标或者帮忙修改下这个源码
功能说明:该程序是一个用于从指定文件中提取其关联图标的易语言工具程序,核心功能是将Windows系统中任意文件(如可执行文件、文档等)所关联的图标以字节集形式提取出来,并进行背景透明化处理,最终生成可用于显示或保存的标准图标数据。程序通过调用Windows API函数ExtractAssociatedIconA获取文件关联图标句柄,再利用GetDC、CreateCompatibleDC、DrawIconEx等GDI函数将图标绘制到内存位图中;随后通过自定义的“扫描颜色”机制识别图标中与预设背景色(白色/灰绿色)一致的像素区域,结合“透明处理”子程序对对应位置的RGB像素及Alpha掩码位进行置零或位运算修改,实现图标背景的智能去色与透明化(模拟32位ARGB图标效果)。程序还内置了图标模板填充、16进制字节集编解码、位图捕获与序列化等辅助功能,支持输出标准ICO格式所需的字节结构(含文件头、图像数据、掩码数据等),可直接用于界面预览、资源替换或图标导出场景。整体属于轻量级系统图标操作类工具,适用于软件开发中的图标资源分析、自定义文件类型图标预览、安装包图标提取等需求。
======程序集1
| |
| |------ 图标句柄取字节集
| |
| |------ 图标_取文件图标
| |
| |------ 扫描颜色
| |
| |------ 透明处理
| |
| |------ 字节集_字节集查看
| |
| |------ 字节集_字节集还原
| |
| |------ 进制_进制转换
| |
| |------ 进制_到十进制
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |
======类1
| |
| |------ _初始化
| |
| |------ 初始化颜色表
| |
| |------ CaptureDC
| |
| |------ GetBitsAddress
| |
| |------ GetBitsSize
| |
| |------ BytesPerLine
| |
| |------ Create
| |
| |------ SetPixelColor
| |
| |------ GetBitmapInfoAddress
| |
| |------ GetWidth
| |
| |------ GetHeight
| |
| |------ WIDTHBYTES
| |
| |------ GetColorTableAddress
| |
| |------ GetBitCount
| |
| |------ BMP文件头转字节集
| |
| |------ BMP信息头转字节集
| |
| |------ CNoColorTable
| |
| |------ GetColorTableSize
| |
| |------ NumDIBColorEntries
| |
| |------ Write
| |
| |
======调用的Dll
| |
| |---[dll]------ SHGetFileInfo
| |
| |---[dll]------ GetDC
| |
| |---[dll]------ CreateSolidBrush
| |
| |---[dll]------ FillRect
| |
| |---[dll]------ DrawIconEx
| |
| |---[dll]------ CreateCompatibleBitmap
| |
| |---[dll]------ CreateCompatibleDC
| |
| |---[dll]------ SelectObject
| |
| |---[dll]------ ReleaseDC
| |
| |---[dll]------ DeleteDC
| |
| |---[dll]------ DeleteObject
| |
| |---[dll]------ DestroyIcon
| |
| |---[dll]------ DrawIcon
| |
| |---[dll]------ GetClassLongA
| |
| |---[dll]------ GetDesktopWindow
| |
| |---[dll]------ GetCurrentProcess
| |
| |---[dll]------ lstrcpyn
| |
| |---[dll]------ ReadProcessMemory
| |
| |---[dll]------ WriteProcessMemory
| |
| |---[dll]------ memcpy
| |
| |---[dll]------ CreateDIBSection
| |
| |---[dll]------ BitBlt
| |
| |---[dll]------ GdiFlush
| |
| |---[dll]------ ExtractAssociatedIconA
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。