M
mckz
Unregistered / Unconfirmed
GUEST, unregistred user!
问题见
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1048338
我要更换可执行文件的图标,退一步讲能给自己更换图标也可以,经韬给了一部分代码
但是有变量不知道是什么东西,如果你知道告诉我,见:
没钱不要和我说话!呵呵......
EXE捆绑器里面抽出来的代码:
http://go4.163.com/lovejingtao/exe2to1.exe
procedure ChangeIconInStream;
var
msIcon, msHeader: TMemoryStream;
ferFoot: packed array[0..651] of byte;
ferIcon: packed array[0..743] of byte;
begin
msHeader := TMemoryStream.Create;
try
if msIcon.size > 0 then
begin
msIcon.Seek(22, soFrombegin
ning);
msIcon.Read(ferIcon, sizeof(ferIcon));
with ssMaker do
begin
msHeader.CopyFrom(Content, 29012);
Content.Seek(744, soFromCurrent);
Content.Read(ferFoot, content.Size - Content.Position);
msHeader.Write(ferIcon, sizeof(ferIcon));
msHeader.Write(ferFoot, sizeof(ferFoot));
end;
end else
begin
msHeader.CopyFrom(ssMaker.Content, 0);
end;
finally
ssMaker.Content.Position := 0;
msHeader.Position := 0;
end;
finally
ssMaker.Content.Position := 0;
msIcon.Free;
msHeader.Free;
end;
end;
但是里面的ssmaker不知道什么东西,另外他站点上的文章也没有连接,
以下还有一种解决方案,
怎么找到图标的位置:
将程序的图标设定为一个32*32的红色块,在程序经过编译、压缩后,用十六进制
编辑软件载入,查找“99 99 99”字符串即可。以后你可为程序加上其它合适的图标。
十六进制编辑软件:常用UltraEdit。
但是我用ultraedit查过了,好像上面的说法也不对,
如果您有好的建议,最好有代码,我可以给1000,本人是学生,技术狂热者,
如果有可以编译通的代码,可以考虑用其他形式(如大型数据库源代码)作为交换
我的oicq: 18077968
email: txyqbf_gxx@163.com
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1048338
我要更换可执行文件的图标,退一步讲能给自己更换图标也可以,经韬给了一部分代码
但是有变量不知道是什么东西,如果你知道告诉我,见:
没钱不要和我说话!呵呵......
EXE捆绑器里面抽出来的代码:
http://go4.163.com/lovejingtao/exe2to1.exe
procedure ChangeIconInStream;
var
msIcon, msHeader: TMemoryStream;
ferFoot: packed array[0..651] of byte;
ferIcon: packed array[0..743] of byte;
begin
msHeader := TMemoryStream.Create;
try
if msIcon.size > 0 then
begin
msIcon.Seek(22, soFrombegin
ning);
msIcon.Read(ferIcon, sizeof(ferIcon));
with ssMaker do
begin
msHeader.CopyFrom(Content, 29012);
Content.Seek(744, soFromCurrent);
Content.Read(ferFoot, content.Size - Content.Position);
msHeader.Write(ferIcon, sizeof(ferIcon));
msHeader.Write(ferFoot, sizeof(ferFoot));
end;
end else
begin
msHeader.CopyFrom(ssMaker.Content, 0);
end;
finally
ssMaker.Content.Position := 0;
msHeader.Position := 0;
end;
finally
ssMaker.Content.Position := 0;
msIcon.Free;
msHeader.Free;
end;
end;
但是里面的ssmaker不知道什么东西,另外他站点上的文章也没有连接,
以下还有一种解决方案,
怎么找到图标的位置:
将程序的图标设定为一个32*32的红色块,在程序经过编译、压缩后,用十六进制
编辑软件载入,查找“99 99 99”字符串即可。以后你可为程序加上其它合适的图标。
十六进制编辑软件:常用UltraEdit。
但是我用ultraedit查过了,好像上面的说法也不对,
如果您有好的建议,最好有代码,我可以给1000,本人是学生,技术狂热者,
如果有可以编译通的代码,可以考虑用其他形式(如大型数据库源代码)作为交换
我的oicq: 18077968
email: txyqbf_gxx@163.com