如何将设置保存在EXE文件自身中?(100分)

  • 主题发起人 主题发起人 roc_deng
  • 开始时间 开始时间
R

roc_deng

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,如果我想把一些设置保存在EXE自身中,下次启动时读出,该如何做呢?
我看了原来的帖子,也试了他们提供的方法,但是都不行啊~~~
大家帮帮我,最好有源码:)
 
这个你到Delphi盒子上看看相关的资料,先要了解EXE的结构,好像是第93个字节还是
多少的(不记得了,因为我没有做过类似的东西)可以更改为你自己的信息。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=938234
 
楼上的地址好像不是这个关于修改exe自身的内容。
我知道的方法好像只有两种。
1:精通pe文件格式,如shenloqi所说。
2:每次启动时,做个自身的副本,写入自定的字节,运行完毕后把自己删掉,再把副本剪过来。
删掉自己,则是很普遍的问题了,通常的方法时程序里写个.BAT,.BAT的内容是删程序和BAT自身。
别的方法,等高手来回答吧。
 
我现在已经做到了保存设置到副本,然后自杀主体,改副本为主体。
但是问题是在启动时读不出来设置,老是报读取错误:(
 
用ini文件记录下来!exe文件启动时调用即可!
uses inifiles;
buttonclick1()//记录文件;
begin
inifile:=Tinifile.create(Extractfilepath(application.exename)+'setup.ini');
top:=inifile.readinteger('mainform','top',top);
left:=inifile.readinteger('mainform','left',left);
end;
button2.click2()//读取文件;
begin
case windowstate of
wsnormal:begin
inifile.writeinteger('mainform','top',top);
inifile.writeinteger('mainform','left',left);
end;
end;
inifile.free;
end;
 
这就只能找你的代码的原因了,你肯定在都文件流时,位置错位什么的。
要不要把关键代码贴出来?
 
正是我也关心的问题,好好听一下^^
 
坏了。。。我已经将原来的代码删掉了[:(][:(]
有点多,一下也不能完全回忆起来:(
 
怎么?我的代码不行吗?[:(]
 
影子,我不是值的你那种意思,简单说就是想要把ini写到exe自身中去。
不过还是谢谢你的热心啦~~~:)
 
要把信息写到程序自身中,那就有点麻烦了。
不如把信息写到注册表中简单,下次启动程序时读注册表就行了。
 
还没搞定,来这里看看(陈经韬写的,不错)
http://go4.163.com/lovejingtao/mystream.htm
 
谢谢大家,已经搞定了!:)
 
后退
顶部