水木子 发表于 2009-9-9 09:30:18

15# ZEROBOYS
同意你的说法!:face (20):

都市浪子666 发表于 2009-9-9 10:56:48

应该做不到的,编译后的EXE文件哪还能随便修改呀

sensel 发表于 2009-9-10 00:12:43

1、FileInstall默认不覆盖已存在文件。所以直接FileInstall,不会改写以前保存的文件。
2、IniRead可以设定一个默认值。当ini文件不存在指定的段或键名时,将返回此默认值到变量。

所以思路如下:运行程序,首先FileInstall释放ini文件,此操作不影响以前保存的选项。然后IniRead读取设置项,默认值与原始ini文件内的对应项相同。这样,万一已存在的ini文件里没有此项目,返回值不会出错。最后,退出程序时别忘了保存你的设置。

sensel 发表于 2009-9-10 00:14:38

补充,除非有特殊需求,一般不需要释放ini文件,直接设置IniRead默认值就够了。

clshuai 发表于 2009-9-10 09:44:36

不知这样可否:在程序中加入一个TIME,监视你的INI文件,当文件大小被更改时,就让程序重新读写INI文件到程序,这样就可以实现重新加载,即在外部更改,程序内有反映

clshuai 发表于 2009-9-10 09:47:10

:face (20):在每次关闭程序的时候,是否可以调用Aut2exe.exe程序来执行程序的打包,如果可以则能解决你的问题,请尝试

clshuai 发表于 2009-9-10 09:48:05

我以前做的没有把INI文件编译进去

feicuiboy 发表于 2009-9-12 19:24:36

23# clshuai


补充:ini文件只是个例子。运行A程序,释放出了B程序,而后由于用户的操作(比如更新或其他什么原因),B程序变的和释放前不一样了,当A程序此时关闭,能否自动在载入B程序。
不知道我描述的是否清晰了,我不知道高手们有无类似的代码能实现以上功能

pusofalse 发表于 2009-9-12 19:37:30

方法多的是,基本都只是思路的问题,但现在我还没有这个思路。

thesnow 发表于 2009-9-12 19:47:44

每次修改自己的RES资源,将文件放RES资源中.(不要加壳,会出错).
1.程序A在退出时执行下面的过程:
2.A释放一个资源修改exe
3.A运行这个exe,自身退出.
4.exe等待几秒后(主要是可能A没退出,无法写.)开始操作A的资源,将释放的INI更新到A里面.
5.exe自杀.

sunny617 发表于 2009-9-13 01:41:16

楼主是不是想让程序时实更新。。。

如果你要读取修改过的或重建的。。重新运行下程序就好了。没那么麻烦吧

lynfr8 发表于 2009-9-13 15:55:12

给个思路
将前一次的配置改动写入注册表--关闭exe--打开exe--读取注册表--根据注册表对应数据重写ini

feicuiboy 发表于 2009-9-13 23:47:27

给个思路
将前一次的配置改动写入注册表--关闭exe--打开exe--读取注册表--根据注册表对应数据重写ini
lynfr8 发表于 2009-9-13 15:55 http://www.autoitx.com/images/common/back.gif

lynfr8 大大现身了,
若主程序释放的程序是也是应用程序,该如何呢,谢谢 这也是我主要的疑惑?

feicuiboy 发表于 2009-9-13 23:52:55

每次修改自己的RES资源,将文件放RES资源中.(不要加壳,会出错).
1.程序A在退出时执行下面的过程:
2.A释放一个资源修改exe(懂)
3.A运行这个exe,自身退出.(懂)
4.exe等待几秒后(主要是可能A没退出,无法写.)开始操作A的资源, ...
thesnow 发表于 2009-9-12 19:47 http://www.autoitx.com/images/common/back.gif







管理员说的,还有些不知道如何操作,请指点,谢谢

每次修改自己的RES资源,将文件放RES资源中.(不要加壳,会出错).-----(这个怎么操作)
1.程序A在退出时执行下面的过程:
2.A释放一个资源修改exe------(这个明白)
3.A运行这个exe,自身退出.---------(明白)
4.exe等待几秒后(主要是可能A没退出,无法写.)开始操作A的资源,将释放的INI更新到A里面(这步如何操作).
5.exe自杀.(这步明白)

kn007 发表于 2009-9-14 00:15:06

#AutoIt3Wrapper_UseUpx=n 关闭加壳压缩,此举可以使ResHacker可添加文件进去,但文件大小将会提高!
Sleep(?),自己定义要等多久吧。。。
?:\autoit3\Extras\OtherEXE\ResHacker.exe -add exe文件, exe文件, ini文件, RCDATA, 程序里面的名称(自定义,写后里面可以调用的名字,如1(.ini)), 0

exe文件是相同的的那个

如:D:\ProTools\ResourceHacker\ResHacker.exe -add F:\2009-6-6\Weather\天气预报\Weather.exe, F:\2009-6-6\Weather\天气预报\Weather.exe, z20.png, RCDATA, z20, 0
页: 1 [2] 3 4
查看完整版本: 程序自动加载修改过的ini文件