找回密码
 加入
搜索
楼主: feicuiboy

程序自动加载修改过的ini文件

 火.. [复制链接]
发表于 2009-9-9 09:30:18 | 显示全部楼层
15# ZEROBOYS
同意你的说法!
发表于 2009-9-9 10:56:48 | 显示全部楼层
应该做不到的,编译后的EXE文件哪还能随便修改呀
发表于 2009-9-10 00:12:43 | 显示全部楼层
1、FileInstall默认不覆盖已存在文件。所以直接FileInstall,不会改写以前保存的文件。
2、IniRead可以设定一个默认值。当ini文件不存在指定的段或键名时,将返回此默认值到变量。

所以思路如下:运行程序,首先FileInstall释放ini文件,此操作不影响以前保存的选项。然后IniRead读取设置项,默认值与原始ini文件内的对应项相同。这样,万一已存在的ini文件里没有此项目,返回值不会出错。最后,退出程序时别忘了保存你的设置。
发表于 2009-9-10 00:14:38 | 显示全部楼层
补充,除非有特殊需求,一般不需要释放ini文件,直接设置IniRead默认值就够了。
发表于 2009-9-10 09:44:36 | 显示全部楼层
不知这样可否:在程序中加入一个TIME,监视你的INI文件,当文件大小被更改时,就让程序重新读写INI文件到程序,这样就可以实现重新加载,即在外部更改,程序内有反映
发表于 2009-9-10 09:47:10 | 显示全部楼层
在每次关闭程序的时候,是否可以调用Aut2exe.exe程序来执行程序的打包,如果可以则能解决你的问题,请尝试
发表于 2009-9-10 09:48:05 | 显示全部楼层
我以前做的没有把INI文件编译进去
 楼主| 发表于 2009-9-12 19:24:36 | 显示全部楼层
23# clshuai


补充:ini文件只是个例子。运行A程序,释放出了B程序,而后由于用户的操作(比如更新或其他什么原因),B程序变的和释放前不一样了,当A程序此时关闭,能否自动在载入B程序。
不知道我描述的是否清晰了,我不知道高手们有无类似的代码能实现以上功能
发表于 2009-9-12 19:37:30 | 显示全部楼层
方法多的是,基本都只是思路的问题,但现在我还没有这个思路。
发表于 2009-9-12 19:47:44 | 显示全部楼层
每次修改自己的RES资源,将文件放RES资源中.(不要加壳,会出错).
1.程序A在退出时执行下面的过程:
2.A释放一个资源修改exe
3.A运行这个exe,自身退出.
4.exe等待几秒后(主要是可能A没退出,无法写.)开始操作A的资源,将释放的INI更新到A里面.
5.exe自杀.
发表于 2009-9-13 01:41:16 | 显示全部楼层
楼主是不是想让程序时实更新。。。

如果你要读取修改过的或重建的。。重新运行下程序就好了。没那么麻烦吧
发表于 2009-9-13 15:55:12 | 显示全部楼层
给个思路
将前一次的配置改动写入注册表--关闭exe--打开exe--读取注册表--根据注册表对应数据重写ini
 楼主| 发表于 2009-9-13 23:47:27 | 显示全部楼层
给个思路
将前一次的配置改动写入注册表--关闭exe--打开exe--读取注册表--根据注册表对应数据重写ini
lynfr8 发表于 2009-9-13 15:55


lynfr8 大大现身了,
若主程序释放的程序是也是应用程序,该如何呢,谢谢 这也是我主要的疑惑?
 楼主| 发表于 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








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

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

发表于 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
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 19:33 , Processed in 0.075923 second(s), 12 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表