返回列表 发帖

如何提取程序图标

   
使用声明
你需要遵守以下条款:
1: 支持一个中国,BS台独分子.
2: 尽量抵制日货物.需有明显的反日倾向.
一旦你使用了我的代码和资料.表示你同意以上条款.
     
  调用API函数ExtractIcon可以提取出在程序文件中的图标,它的头文件是shellapi.h,原型为:
HICON ExtractIcon
(
HINSTANCE hInst, //实例句柄
LPCTSTR lpszExeFileName, //要提取图标的那个程序的文件名
UINT nIconIndex //要提取的图标的索引
);
调用该函数时,参数hInst一般设为当前应用程序的实例句柄。
参数lpszExeFileName为需要提取图标的程序文件的完整路径,这个程序文件可以是EXE文件、DLL文件、ICO文件等,只
要是包含有图标资源的文件一般都可以提取图标。
当参数nIconIndex指定一个图标的索引可以返回指向图标的句柄,如指定的文件中不存在图标,则返回零,当参数
nIconIndex设为-1,函数返回文件的图标总数。
函数返回的句柄可以赋给一个用TIcon类声明的变量,再使用该变量的SaveToFile方法就可以把图标保存出来。
例子:
TIcon *Icon = new TIcon();
AnsiString FileName = "C:\\WINDOWS\\SYSTEM\\SHELL32.DLL";
int TotalIcon;
//得到文件SHELL32.DLL的总图标数
TotalIcon = (int)ExtractIcon(Form1->Handle,FileName.c_str(), -1);
//提取第一个图标,0为第一个,1为第二个,类推...
Icon->Handle = ExtractIcon( Form1->Handle, FileName.c_str(), 0);
//保存图标
Icon->SaveToFile("C:\\1.ICO");
有了这个API函数,提取图标就容易多了.

下面的是例子程序.

如何提取程序图标

恩,很方便:)
ps:
回帖,我也支持上述条款.
1: 支持一个中国,BS台独分子.
2: 尽量抵制日货物.需有明显的反日倾向.

TOP

如何提取程序图标

这个条款是我从网上一位牛人那里看到的,觉得很好.
虽然我个人的力量很微小,但是我会用我的实际行动来影响我周围的人.
所以我决定以后我发的帖子,都会加上这个条款.
:)

TOP

如何提取程序图标

  楼主的问题我以前曾努力研究过,但如果是用程序直接修改已存在的EXE文件的图标,难度又大了一些。假如我想使我的程序每双击一次就使自己的图标有所改变,这就要修改自身了。最好是对PE格式的文件有所了解。
  我不觉得日本的东西有什么不好,我比较崇尚的是技术,有些日本软件编写的也挺好的,至于日本人本身的人品问题我看得比较轻。就像我要吃饭一样,饭吃着挺香味道挺好,那么我就爱吃,而不会关心做饭主人的人品问题。

TOP

如何提取程序图标

[这个贴子最后由无条件为你在 2006/11/09 09:33pm 第 1 次编辑]


不错,用着挺实惠!
文件有点大,难道不是用C++编写的?

TOP

如何提取程序图标

首先我承认日本的产品确实好。这点我不否认。但是,你有没有想过,你购买日本产品,日本的企业从你身上所获得利
润是用来发展日本的武器,而这个武器以后可能就是用来对付每一个中国人,包括你!
从你身上赚的钱造的武器用来对付你,想想会是什么感觉?
网上有过一片文章,不知道你有没有看过,就是说你买一个日本车,可能以后和中国打仗的日本坦克就是用的你的钱!
你买一台日本相机,以后射向中国人的子弹就是你造的!
呵呵,语言就有过激,但是对于日本的事情我向来就是这样。因为我时刻都在记得日本8年的侵华战争,死于日本人的
几千万我的同胞!
最后我想说的是,我个人的力量很微小,也不能强迫别人接受我的思想,但是,我会用我的实际行动来影响我周围的每一个人。
最后一点:程序是c++builder写的。

TOP

如何提取程序图标

支持~~  lz

TOP

返回列表 回复 发帖