| 当你想要使用别的应用程序中的漂亮图标时,该怎么办呢?也许就会用到一些图标提取工具吧!那么,你知道它们是怎么实现的,想不想自己动手也做一个适合自己的图标提取工具呢?下面,就让我用我以前做过的一个工具<轻轻松松抓图标>来告诉你吧!它可以提取各种文件中的图标资源,并可将其保存为图标(ICO)、位图(BMP)两种格式。程序运行后界面如下: |
![]() |
| 图一 |
| 在上面的例程中,我整合出一个图标类CIcons和与之相配的一个位图类CDib,其中包括Icons.h、Icons.cpp、Dib.h和Dib.cpp四个文件。在你的工程中直接加入这四个文件后,调用其类涵数,既可做出你自己的图标工具来。 下面让我们来看看如何来具体用它们来实现: 1、 提取并显示出图标到左侧列表框中。 代码实现如下: //读取各种资源内部图标并显示在左侧列表框中 |
void CIconSnapDlg::OnOK()
{
CFileDialog fileDialog( TRUE,"*.ICO",NULL,NULL,"资源文件(*.ICO,*.BMP,*.EXE,*.DLL,*.ICL)|*.ICO;*.BMP;*.EXE;*.DLL;*.ICL||");
if (fileDialog.DoModal() == IDOK)
{
szOpenFileName=fileDialog.GetPathName();
szOpenFileExtName= fileDialog.GetFileExt ();
szOpenFileExtName.MakeLower ();
m_List.ResetContent (); //选清空左侧图标列表框
//读取并显示ICON文件
if(szOpenFileExtName =="ico")
{
lpIR=pIcons->ReadIconFromICOFile (szOpenFileName);
HICON hIcon;
hIcon=ExtractIcon(AfxGetInstanceHandle(),szOpenFileName,0);
if(hIcon!=NULL)
m_List.AddString (szOpenFileName);
CStatic* pStatic = (CStatic*) GetDlgItem(IDC_ICONS);
pStatic->SetIcon (hIcon);
}
else if(szOpenFileExtName == "bmp") //读取并显示BMP文件
{
pIcons->IconImageFromBMPFile (szOpenFileName,&lpIR->IconImages[0],TRUE);
HICON hIcon;
hIcon=pIcons->MakeIconFromResource (&lpIR->IconImages [0]);
if(hIcon!=NULL)
m_List.AddString (szOpenFileName);
CStatic* pStatic = (CStatic*) GetDlgItem(IDC_ICONS);
pStatic->SetIcon (hIcon);
}
else //读取并显示EXE、DLL等资源文件
{
HINSTANCE hLibrary;
// Load the DLL/EXE - NOTE: must be a 32bit EXE/DLL for this to work
if( (hLibrary = LoadLibraryEx( szOpenFileName, NULL, LOAD_LIBRARY_AS_DATAFILE )) == NULL )
{
// Failed to load - abort
MessageBox( szOpenFileName+ "文件载入错误,必须是WIN32的文件!", "错误", MB_OK );
return;
}
// Store the info
EDII.szFileName =szOpenFileName;
EDII.hInstance = hLibrary;
// Fill in the listbox with the icons available
if( ! EnumResourceNames( EDII.hInstance, RT_GROUP_ICON, (ENUMRESNAMEPROC )MyEnumProcedure, (LPARAM)GetSafeHwnd()) )
{
MessageBox( "列举图标资源名时出错!", "错误", MB_OK );
return;
}
}
m_List.SetCurSel (0);
if( m_List.GetCount() == 0 )
{
MessageBox( "此文件中没有图标资源!", "错误", MB_OK );
//无图标资源,置保存和复制按钮为无效状态
m_Copy.EnableWindow (false);
m_SaveAs.EnableWindow (false);
return;
}
//有图标资源,置保存和复制按钮为有效状态
m_Copy.EnableWindow (true);
m_SaveAs.EnableWindow (true);
//刷新调用OnPaint来显示图标
InvalidateRect(NULL,TRUE);
}
}
|
| 在OnPaint()涵数中加入下面代码用来具体显示提取出的图标或位图资源。 //根据左侧图标列表,利用OnPaint()来更新右侧相应图标 |
LPTSTR lpIconID;
HICON hIcon;
if((lpIconID=(LPTSTR)m_List.GetItemData(m_List.GetCurSel()))!=(LPTSTR)LB_ERR )
{
if(szOpenFileExtName=="exe"||szOpenFileExtName=="dll"||szOpenFileExtName=="icl")
{
hIcon=pIcons->GetIconFromInstance(EDII.hInstance,lpIconID);
CStatic* pStatic = (CStatic*) GetDlgItem(IDC_ICONS);
pStatic->SetIcon (hIcon);
}
}
|
| 2、 如何将提取出的图标资源保存为Ico或Bmp格式。 //保存图标资源为ICO或BMP格式文件 |
void CIconSnapDlg::OnButtonSaveas()
{
LPTSTR lpIconID;
CFileDialog fileDialog( FALSE,"*.ICO",NULL,NULL,"图标文件(*.ICO)|*.ICO|位图文件(*.BMP)|*.BMP||");
if (fileDialog.DoModal() == IDOK)
{
szSaveFileName=fileDialog.GetPathName();
szSaveFileExtName= fileDialog.GetFileExt ();
szSaveFileExtName.MakeLower ();
if(szOpenFileExtName=="exe"||szOpenFileExtName=="dll"||szOpenFileExtName=="icl")
if((lpIconID=(LPTSTR)m_List.GetItemData (m_List.GetCurSel()))!= (LPTSTR)LB_ERR)
lpIR=pIcons->ReadIconFromEXEFile (szOpenFileName,lpIconID);
if(szSaveFileExtName=="bmp")
{
if(lpIR!=NULL && m_List.GetCount ()>0)
{
BeginWaitCursor();
pIcons->IconImageToBMPFile (szSaveFileName,&lpIR->IconImages [0]);
EndWaitCursor();
}
else
MessageBox( "没有可保存的图标资源!", "错误", MB_OK );
}
else if(szSaveFileExtName=="ico")
{
if(lpIR!=NULL && m_List.GetCount ()>0)
{
BeginWaitCursor();
pIcons->WriteIconToICOFile (lpIR,szSaveFileName);
EndWaitCursor();
}
else
MessageBox( "没有可保存的图标资源!", "错误", MB_OK );
}
}
}
|
相关推荐
从EXE/DLL文件中提取ICO图标的实用工具设计与实现
提到图标,很多人第一反应是PNG或SVG。但在Windows世界里,.ico才是真正的原生王者。它可不是普通的图像格式,而是一种多图像容器格式,专为操作系统图标系统量身打造。它的核心由三部分构成:ICONDIR:全局头信息:多个图标的描述数组多个DIB位图数据块:实际像素内容// 必须为0// 类型:1表示图标,2表示光标// 图标数量} ICONDIR;每一个都记录了一个图标的宽度、高度、色深以及在文件中的偏移位置。最关键的是,一个.ico。
Windows 下提取EXE文件中的图标
可以使用两种工具:
ICO 图标提取器(从 exe 和 dll 中提取 ico 图标)
从 exe 和 dll 文件中提取 ico 图标文件 这东西网上很多,但大多都带有插件,少量还有病毒和木马,干脆自己写一个。。。。
EXE图标提取工具 IconViewer
IconViewer是一款能够提取.exe可执行程序的图标提取工具,它能查看、提取并保存在可执行文件和库中的图标,可以导出保存为ICO、JPG、PNG,BMP或者GIF格式图片文件。
EXE图标提取ICO器
可以提取EXE、DLL、的文件图标绿色软件
visual c++用代码 提取EXE或DLL中的图标ico
vc提取EXE或DLL中的资源,比如 图标
Ico图标提取工具是一款功能强大专业的(EXE文件)内提取ICO图标的软件
摘要: Ico图标提取工具是一款专业软件,用于从EXE文件中提取ICO图标。支持图标预览、导出及管理,适用于图标收集、设计定制、资源提取等场景。操作简单,功能强大,帮助用户高效获取和应用图标资源,提升项目美观度与用户体验,是图标处理领域的实用工具。
vc提取指定的exe中的图标,另存为ico文件.zip
vc提取指定的exe中的图标,另存为ico文件.zip visual c++ 提取指定的exe中的图标,另存为ico文件.zip
提取文件原生ico图标
在为 Cobalt Strike exe 木马添加图标中提到了使用软件提取图标,并更换图标的方式。这里单独提一下如何手动获取软件原生图标。思路就是找到相关应用程序的exe文件,解压,找到ico即可。必备工具:Everything、解压缩软件。 举几个例子: 获取Office三件套的ico 1:word图标 使用Everything搜索到word 用解压缩软件打开它 点开仅有的一个文件夹,就会看到一个名为ico的文件夹,把它拖出来即可 2:Excel图标 同理,获取到Excel图标 3:获取PPT,
【Collibra 驱动 IPD 数据血缘治理】:三层图谱分层展示体系与全链路追踪的技术业务实践
(应用级/数据级/字段级)是理解复杂数据流动的核心手段。其价值不仅体现在可视化的直观性,更在于通过。技术保障血缘不可篡改性,进一步提升IPD数据治理的可靠性。,解决了跨层级血缘分析的性能与可用性矛盾。数据血缘图谱要素定义(字节跳动/腾讯云/信安标委)实现对IPD数据的精准追踪,而数据血缘图谱的。分层交互设计标准(智慧城市数据中台规范)Collibra技术文档(2024)字段级血缘的挑战与解决路径。自动优化血缘路径,并深化。字段级血缘技术实现方案。Collibra通过。图数据库性能优化原理。
RoboMaster机甲大师赛备赛:如何用STM32+CAN总线精准控制四个大疆3508电机?
本文详细介绍了在RoboMaster机甲大师赛中,如何利用STM32和CAN总线技术精准控制四台大疆3508电机。从硬件架构设计、多电机ID分配、数据解析到同步控制算法,全面解析了构建高响应、低延迟底盘驱动系统的关键技术,助力参赛队伍提升机器人运动性能。
提取dll和exe里ico的软件_改变U盘图标
BeCyIconGrabber.exe 是提取exe文件内图标的软件。iconsext.exe 是提取dll文件内图标的软件。
ITIL-IT运维管理-概述
ITIL-IT运维管理-概述 概述 IT服务管理(ITSM)是一套帮助企业对IT系统的规划、研发、实施和运营进行有效管理的方法,是一套方法论。ITSM起源于ITIL(IT Infrastructure Library,IT基础架构标准库),ITIL是CCTA(英国国家电脑局)于1980年开发的一套IT服务管理标准库。它把英国在IT管理方面的方法归纳起来,变成规范,为企业的IT部门提供一套从计划、研发、实施到运维的标准方法。 中文名 IT服务管理 外文名 ITService Management 专家
Delphi获取 EXE、DLL 或 ICO 文件中的图标
//声明:ExtractIcon(hInst:HINST;{调用函数的程序实例}lpszExeFileName:PChar;{文件路径;文件可以是*.exe、*.dll、*.ico}nIconIndex:UINT{图标索引}):HICON;{返回图标句柄;索引为0时返回第一个图标句柄;索引为#FFFFFFFF时返回图...
IEEE论文接收后,收到Proof邮件别慌!手把手教你48小时内搞定校样(附详细截图)
本文详细解析了IEEE论文接收后Proof校样的全流程,从邮件关键信息解码到精准修改标注,提供48小时内高效完成校样的实战指南。涵盖登录技巧、文件验证、修改标注黄金法则及九宫格检查清单,帮助作者避免常见错误,确保论文顺利发表。
ROS开发者的福音:用Anaconda虚拟环境解决Python包冲突(附完整配置流程)
本文为ROS开发者提供了使用Anaconda虚拟环境解决Python包冲突的完整方案。通过分析冲突根源,详细介绍了Miniconda安装、专用环境创建以及核心桥梁包的配置流程,并阐述了“混合环境运行”与“纯虚拟环境构建”两种实战工作流,帮助开发者实现ROS核心与特定Python库的和谐共存,从而提升开发效率和项目可维护性。
Delphi从EXE或DLL获取ICO图标
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button2: TButton; Button3: TBu...
【深度学习驱动流体力学】OpenFOAM目录流体力学求解器汇总介绍
下面这些目录结构和其中的求解器和工具展示了OpenFOAM作为一个功能强大且广泛应用的开源CFD软件框架的多样性和灵活性。每个求解器都专门用于解决不同类型的流体动力学问题,从基础的流动模拟到复杂的多相流动和燃烧模拟等各种应用场景。
如何获取DLL,EXE中的图标
http://www.kennyandkarin.com/Kenny/CodeCorner/Tools/IconBrowser/ Icon Browser: An Exercise in Resource Management By Kenny Kerr, November 2001 Summary Info Prerequisites This article a
【Claude】组织级认证限制报错已解决(4 种)
报错被禁用的是什么谁能解除应急方案整个 Console 组织Anthropic 支持换账户 / 订阅凭证API key 认证方式你的组织管理员用订阅/login订阅 OAuth 登录你的组织管理员用 API keyRoutines 功能你的组织所有者手动计划任务替代共同排查模式/status确认当前凭证;检查环境变量;看清报错消息里命名的是什么(key?组织访问?),对症清除;管理员层面的限制,找管理员解锁。
天地图下载带审图号(审图号: GS(2024)0650号)的 “行政区划” 数据(含shp文件下载地址)
在科研投稿论文过程中,多数期刊杂志要求我们制作涉及国界的图件,必须使用自然资源部地图技术审查中心发布的标准地图底图。如地理学报、地理科学等期刊的投稿指南中写到:非标准底图本刊不予发表!(如图1.1所示)如果一定要用,凡涉国界图件(国内部分地区、全国、世界部分地区、全球)必须使用自然资源部标准地图服务系统标准地图底图(http://bzdt.ch.mnr.gov.cn/)(如图1.1所示)或国家测绘局地理信息局标准地图底图(如图1.2所示),所用底图边界要完全无修改(包括南海诸岛位置)。
Clion-MinGW编译后的exe文件添加ico图标
我们正常直接编译后生成的exe是没有任何图标的 那么很多exe程序都是有个性图标的那么在vs和qt中是比较简单的可是在Clion编译中怎么才能添加呢?经过自己研究发现,我们需要创建一个文件放在项目的根目录, 然后给这个文件添加一些配置信息 圆角制作 , 圆制作 , ioc图片制作然后将图标命名为 放在项目的根目录,之后我们需要将ico.rc文件编译为ico.o 然后有两种方式,手动打包exe和使用Clion编译exe进入项目的根目录然后 注意: module/c
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
一个从EXE、DLL文件中提取、存取图标完整程序
作为一名程序员,会经常为制作、设计程序图标费尽心思,当我们看到许多应用软件的图标非常漂亮的时候,是多么的羡慕!我们可不可以借鉴一下他们的图标?完全可以!我们利用 ExtractIcon API函数就能够轻松地从ICO文件或可执行文件以及DLL文件中提取图标。 下面的代码示范了一个完整的提取图标、存储图标的程序:unit UFormIconGrabber;interface
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
dll,exe图标提取器
dll,exe图标提取器是一款优秀的dll、exe图标提取工具,作用用来提取文件中的图标,dll,exe图标提取器能够将包含在文件中的图标提取出来,提取出来的图标可以保存为ICO、BMP格式。下载地址:http://kuai.xunlei.com/d/GBBBNKAPOZSW...
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
Unity超简单打包成exe文件
Unity的项目可以在编辑器中依次点击“File→BuildSettings”生成exe文件,但是这时还包含了一个Data数据文件夹,下面就来看一下怎么生成一个exe文件,逼格是不是立马提升100倍。 1.准备工作 1.找到UnityPlayer.dll 首先要在Unity安装目录中找到名为UnityPlayer.dll的文件夹,可以看到有4个相同名称的文件,根据项目运行的平台(32...

898



被折叠的 条评论
为什么被折叠?



