如何寫一個用於發佈的Exe,可以改寫内容的,就像WinZip做的Exe Self Extractor?範例!300分(300分)

  • 主题发起人 主题发起人 章慧
  • 开始时间 开始时间

章慧

Unregistered / Unconfirmed
GUEST, unregistred user!
急,謝謝,即時編譯?還有什麽方法嗎?
 
去 http://delphi.mychangshu.com/ 看看 有没有你要的东东
 
用DELPHI 自带的安装大师可乎
 
不对,我的意思就是我的Exe写出一个包含新数据包的Exe
 
是不是就像某些做贺卡的软件那样???
嘿嘿.不会.
帮你提前一下.
 
没有人!!!!!
 
这个问题我也在关注,我在读执行程序自身时,读失败,更别谈写了:(帮你提前!
 
疑?这个问题都没有人答么?不难的呀。
采用文件流就可以实现。
留下你的email,我做完了发给你。
 
其实非常简单,先作一个exe文件(当然重量得非常轻才好),然后把相关的东西写到资源文件中去即可,
运行exe时读去资源不就得了?写到资源中和从资源中读去不用多说了吧?
 
:远帆,:
; ; 谢谢!maochan@263.net
 
to headchen:
; ; 那么运行的时候你怎么写资源呢?

to all:
; ; 我今天下午下班后就要回家了,过完年我一定把代码寄给大家或贴出来。
 
Laban.Zhang@263.net,谢谢
 
taozhiyu@21cn.com ; ; [:D]
 
真要命!
我看了一下,以前写的代码只是在运行期间读自身,并没有写.记得以前看过一篇文章写如何
自修改,write by english.我试试.
 
请问操作系统试怎么实现运行期间读的呢?否则不就无法启动多个实例了吗?
而且启动了以后,其InfoTip组件依然可以分析那个Exe,说明是可读的吧
 
mz ne pe 格式的文件的长度是可以计算的,你把数据附加到文件末尾,程序运行的时候
从末尾读出来就行了。
 
加上数据好像会影响图标,Exe有文件校验和的吧,会被认为是病毒的
我知道Dos下的exe能加,这我早做好了,我是说合法的加
 
不知这个你用不用得上,Exe写出一个包含新数据包的Exe,并且哪个新EXE是它自己
只能在Win98下用,2000下要改一个函数。
TWriteMe在
http://www.delphibbs.com/delphibbs/dispq.asp?lid=917445

program Project1;

{$APPTYPE CONSOLE}

uses
; SysUtils,TWriteMeB;

var
; str:String;
begin
; { TODO -oUser -cConsole Main : Insert code here }
; ;if WriteMe.IsFirst then
; ; begin
; ; ; writeln('输入你要保存的数据');
; ; ; readln(str);
; ; ; WriteMe.Write(str);
; ; end
; ;else
; ; ;begin
; ; ; ;Writeln('你上次保存的数据是:');
; ; ; ;writeln(WriteMe.read);
; ; ; ;readln(str);
; ; ;end;
end.
 
行了,我明白你的要求了。
一般情况下数据是加在文件尾部(若是数据很少,可以加到可执行文件段空隙间)。不会
影响文件图标,若程序对自身进行校验当然是无法通过的。
我弄完后寄给你。
by the way:
运行情况下修改文件本身看来是不能实现的。我看过的那篇文章是指的是修改已调入内存的
程序体。
 
后退
顶部