Delphi提取EXE,DLL文件图标

//uses ShellAPI

procedure   TForm1.Button1Click(Sender:   TObject);
var
      IconIndex:Word;
      h:hICON;
begin
      IconIndex:=0;
      h:=ExtractIcon(HInstance,pchar('c:"windows"notepad.exe'),IconIndex);
      DrawICon(Form1.canvas.Handle,200,100,h);
end;

//用控件ImageList保存提取的图标,并在ListView中显示出来
FIcon.Handle:=hIcon1;
ImageList1.AddIcon(fIcon);
ListItem:=ListView1.Items.Add;
ListItem.ImageIndex:=ImageList1.Count-1;
end;

====================================================

use    shellapi;       //提取出图标并赋给SpeedButton.Glyph
    
   procedure    TForm1.Button1Click(Sender:    TObject);   
   var   
       hc:    TIcon;   
       Bitmap    :    TBitmap;   
   begin   
   //打开exe   
       opendialog1.Execute;           
       hc    :=    TIcon.Create;   
       Bitmap    :=    TBitmap.Create;   
   //提取exe图标   
       hc.Handle    :=    ExtractIcon(hInstance,    PChar(opendialog1.FileName),    0);   
   //将得到的ico转换为bitmap   
       Bitmap.Width    :=    hc.Width;   
       Bitmap.Height    :=    hc.Height;   
       Bitmap.Canvas.Draw(0,    0,    hc    );   
   //把bitmap传给speedbutton.glyph   
       SpeedButton1.Glyph:=bitmap;   
   //释放资源   
       hc.Free;   
       Bitmap.Free;   
   end;

时间: 2024-10-10 03:14:12

Delphi提取EXE,DLL文件图标的相关文章

Qt之提取exe/dll/icon文件图标

简述 在 Windows 中,文件查看有很多模式,比如: 缩略图 16*16 平铺 48*48 图标 32*32 列表 16*16 分别对应了多个不同大小的图标. 如果我们要从指定的可执行文件(exe).动态链接库(dll).或者图标文件中提取图标,可以使用 ExtractIconEx.ExtractIcon. 简述 说明 效果 依赖 源码 说明 函数 描述 ExtractIcon() 从一个文件中提取指定索引位置的图标,索引从 0 开始.这个函数总是返回大图标(32 x 32). Extrac

c#调用delphi编写的dll文件报错,尝试读取或写入受保护的内存

问题描述 c#调用delphi编写的dll文件报错,尝试读取或写入受保护的内存 delphi函数原型 Procedure invoke(params :PChar; result : PChar) ; 解决方案 把这个delphi的原型改一下,改为 Function Pchar invoke(params :PChar) ; 再试试 解决方案二: Function invoke(params: PAnsiChar): PAnsiChar ;

QQ邮箱不能上传exe,dll文件的解决方案

                                          原因分析: 邮箱不能够上传EXE文件. 解决方案: 将文件压缩,再上传.                                           

有人玩过lotus访问C#制作的Dll文件吗

问题描述 有人玩过lotus访问C#制作的Dll文件吗,正在研究,不知道怎么调用,delphi做得dll文件能够调用,C#做的不行,貌似不一样.有哪位达人能指点下,不胜感激 解决方案 解决方案二:该回复于2011-03-08 15:47:11被版主删除解决方案三:这个是可以调用的,见过,但是忘记了.解决方案四:C/S应该是可以调用的,和调用系统的相关底层内容一样,不过BS好像确实没用过~~

delphi编写提取exe文件的ICO图标

会写自己的EXE程序,但没一个好看的EXE图标,是不是很遗憾啊?很多软件都有很好看的图标,我们为什么不提取出来呢?下面教你怎么用delphi编程提取EXE文件的图标,并保存为ICO格式的. 代码如下: procedureTForm1.getIcon; var Count:Integer; FileName:String; i:integer; begin if(FileName<>Edit1.Text)then begin FileName:=Edit1.Text; I:=0; Count:=

vb.net怎样提取EXE文件的64*64图标?

问题描述 Icon.ExtractAssociatedIcon只能提取32*32的EXE文件图标,有无方法提取64*64图标? 解决方案 解决方案二:可以用API来实现(可获取任意文件的图标):ClassFileAttributes'声明一个WindowsAPI函数.PrivateDeclareFunctionSHGetFileInfoLib"shell32"_(ByValpszPathAsString,ByValdwFileAttributesAsInteger,_ByRefsfiA

delphi-求救!!! 调用一个DLL文件的函数,提供的调用方法好像是Delphi,VB怎么调用!

问题描述 求救!!! 调用一个DLL文件的函数,提供的调用方法好像是Delphi,VB怎么调用! 提供的调用方法如下 3.2 封装模式 接口动态库的文件名为nxmi.dll,HIS直接调用nxmi.dll, 调用之前请先安装读卡环境,安装程序为inst.exe. 3.3 调用方法 对外提供的接口函数: Procedure invoke(params :PChar; result : PChar) ; 我现在在VB中写的如下: 在模块下定义 Public Declare Function invo

VS 2008潜在强大的功能:提取EXE文件中的ICO等资源

先打开VS 2008,然后用文件菜单中的打开文件功能打开一个EXE文件,即可提取QQ等EXE中的资源,如图: 直接在ICON 下的 129 上面点鼠标右键,即可导出一个129.ico的文件了,是不是很神奇呢?呵呵   双击打开ICON下的图片资源,即可看到该ICO资源的内容,如下:   还可以提取EXE中的其它资源,例如SWF MP3等,有些用EXE打包加密的视频资源也可以这样破解了,微软真是强大啊.   像我们做程序开发的,经常会要碰到为自己的EXE程序弄个好点的图标,而网络上下载的ICO提取

JScript教程:使用JScript创建.exe或.dll文件

文章简介:JScript 是由微软开发的活动脚本语言,基于 ECMAScript 规范实现.Internet Explorer 中的 JavaScript,实际上是指 JScript.JScript 已被 Windows Script Host(WSH)支持.JScript 最新的版本(JScript.NET)基于尚未定稿的 ECMAScript 4.0 ,并且可以在.Net环境下编 什么是 JScript? JScript 是由微软开发的活动脚本语言,基于 ECMAScript 规范实现.In