在EXE里读写EXE本身文本数据?(60分)

  • 主题发起人 主题发起人 okook2003
  • 开始时间 开始时间
O

okook2003

Unregistered / Unconfirmed
GUEST, unregistred user!
我的想法:
用文本做个RC的资源文件,我的TXT中有这个EXE读取数据,把资源文件编印在EXE里,让程序本身来读写。
不知道谁按照这种方法作过。或提供些思路,实例代码,文章等等。谢谢!
成功了另加分:)
 
用流来做比较合适,不过要自己去定义文件的格式。
 
以前在网上下的,供参考:

□把wav文件编译到可执行文件中

第一步:建立一个rc文件.
例如:my.rc,内容如下:
mymusic wave music.wav
其中mymusic为资源名称,wave为资源类型,music.wav为一个存在的wav文件名.
第二步:编译这个文件.
>BRCC32 my.rc
BRCC32.exe在.../borland/delphi5/bin/目录下,
编译后生成一个资源文件my.res
第三步:加到程序中去.
在{$R *.res}后加上{$R SOUND.RES}
最后怎样调用这个资源呢?看:
var FindHandle, ResHandle: THandle;
ResPtr: Pointer;
begin
FindHandle:=FindResource(HInstance, 'mymusic'', 'wave');//找到这个资源的句柄.
if FindHandle<>0 then begin
ResHandle:=LoadResource(HInstance, FindHandle);//获得资源所在内存的句柄
if ResHandle<>0 then begin
ResPtr:=LockResource(ResHandle);//锁定资源.
if ResPtr<>Nil then
SndPlaySound(PChar(ResPtr), snd_ASync or snd_Memory);//播放这个音乐.
UnlockResource(ResHandle);
end;
FreeResource(FindHandle);
end;
end;
好了,现在就可以听到这段音乐了.
 
BES的方法值得参考
 
读很容易,写困难
 
请看我做的软件:
ODBC配置-Exe生成器 V1.0Build(源代码),这个有详细的读写操作。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2297563

 
楼主是不是把一些东西保留在EXE文件里面,下次使用时还要用到呀?
 
读容易,放到资源中,读取资源,锁定,得到数据指针,取得数据。
写就比较困难了,我还没有试成功过!!关注!
估计要先搞清PE文件格式、、、、有难度。
 
to ;qufo
是的阿,下次使用时还要用到,且还想重新加入新数据,修改旧数据。
就像调用文本txt一样。不过是用资源文件在exe内部进行读取修改。

难度是有的,但是要是解决了,会有很多好处的啊!大家多支持。
 
to okook2003
我的源码不是解决了此问题吗。
 
to okook2003
难道有源码还不好呀。
如果有问题也可以跟我联系。
E-Mail:wjh107@sina.com
OICQ:39306255
 
to:wjh_wy
看了你的代碼,但是我的winxp+delphi7沒有運行起來,不知道什么原因?你有delphi6或7版本下可運行的代碼?
 
楼主的意思不是生成EXE文件,而是在Exe文件执行时自已修改自己。将数据写进去吧?
 
后退
顶部