用winAPI实现 var h: HWND; Icon: HICON; begin if OpenDialog1.Execute then begin h := FindWindow('Notepad',nil); Icon := LoadCursorFromFile(PChar(OpenDialog1.FileName)); {*.ico} SendMessage(h, WM_SETICON, ICON_SMALL, Icon); end; end; 也可以先用ExtractIcon从.exe或.dll文件中提取图标, 我也写过一个这样的程序要的话留下邮箱...
BeginUpdateResource
UpdateResource
EndUpdateResource
给你BCB的类似贴参考http://community.csdn.net/Expert/topic/4892/4892716.xml?temp=.5368158
来自:特尔斐, 时间:2003-5-7 13:47:00, ID:1836847
具体点是这样做:
PE文件的主图标是从26d2H处开始存放,你先载入一个图标到一个内存流中
再将要更改图标的EXE文件载入到另一个流中,将EXE文件流的指针指向
$26d2f,将图标流的指针指向$15,然后循环读取图标流到结尾并写入EXE文件流
就这样,EXE文件的图标已换成你自己的了。
给分吧,兄弟!来自:ForestGuy, 时间:2003-5-7 17:24:00, ID:1837915
使用API
BeginUpdateResource
UpdateResource
EndUpdateResource
在MSDN里有详细说明
var h: HWND;
Icon: HICON;
begin
if OpenDialog1.Execute then
begin
h := FindWindow('Notepad',nil);
Icon := LoadCursorFromFile(PChar(OpenDialog1.FileName)); {*.ico}
SendMessage(h, WM_SETICON, ICON_SMALL, Icon);
end;
end;
也可以先用ExtractIcon从.exe或.dll文件中提取图标,
我也写过一个这样的程序要的话留下邮箱...