找回密码
 加入
搜索
查看: 5961|回复: 15

[AU3基础] 请问如何提取AU3文件里fileintall语句后的文件?

 火.. [复制链接]
发表于 2012-4-2 11:28:13 | 显示全部楼层 |阅读模式
我下了个AU3写的工具,我想模仿他的功能自己写

但是里面fileinstall后面的文件,不知道如何提取

都是在满足条件下才执行fileinstall的。

用RE资源管理起也看不到这些文件!
发表于 2012-4-2 12:03:36 | 显示全部楼层
看帮助 .....

FileInstall
--------------------------------------------------------------------------------

包含并装入指定文件到编译后的脚本程序中.


FileInstall ( "源文件", "目标路径" [, 标志] )




参数

源文件  要装入到编译程序中的文件的路径.文件名必须是字符串,不能是任何变量. 它可以是一个相对路径(使用 .\ 或者 ..\ 等在路径中)
目标路径 结尾带有反斜线符号的目标路径,脚本程序运行时将把嵌入文件解压到此位置.此参数接受变量.
标志 [可选参数] 此标志参数用以决定是否覆盖已存在的文件:
  0 = (默认)不覆盖已存在的文件
  1 = 覆盖已存在的文件



返回值

成功: 返回值为1.
失败: 返回值为0.



注意/说明

FileInstall 函数的用途是装入文件到编译后的 AutoIt 脚本程序中.这些内嵌的文件将在编译好的脚本程序运行时被"解压"出来.这里要提醒一下的就是装入某些文件如图片文件等可能会导致编译后的脚本程序大小剧增.
源文件(来源文件)参数只接受字符串而不接受变量,计算式或者函数CALL,以便编译器能正确取得文件名并装入文件.
源文件参数不能含有通配符.

若在未编译的脚本中使用此函数则程序将执行一次文件复制操作(这样是为了方便进行预编译测试).
装入的文件将保持原本的创建时间/修改时间等时间戳信息.

目标目录必须存在才能调用此函数,不然FileInstall将会失败, 返回 0 并不会创建文件和路径. 参考 DirCreate() 函数关于创建目录路径.

已存在的文件属性可能导致函数覆盖失败.请使用 FileDelete() 或者 FileSetAttrib() 确保文件能够被覆盖.
发表于 2012-4-2 12:05:17 | 显示全部楼层
运行时会释放出来 一般会释放到临时文件夹temp里

搜索一下就出来了
 楼主| 发表于 2012-4-2 13:45:41 | 显示全部楼层
回复 3# veket_linux

这个我知道,文件是别人写的,我想用他释放下来的文件。
有些文件他运行一下就自动删除了,根本没办法复制下来!
发表于 2012-4-2 13:55:46 | 显示全部楼层
回复  veket_linux

这个我知道,文件是别人写的,我想用他释放下来的文件。
有些文件他运行一下就自动 ...
zz999 发表于 2012-4-2 13:45



    都能拷出来的

但最好不要如此空对空地谈,具体问题具体分析,如你这个,你就把那个au3写的工具发上来(应该没有什么保密的问题吧),然后说要什么文件释放……
发表于 2012-4-2 14:52:58 | 显示全部楼层
有些文件是会删除的,就得具体问题具体分析
发表于 2012-4-2 16:45:28 | 显示全部楼层
回复  veket_linux

这个我知道,文件是别人写的,我想用他释放下来的文件。
有些文件他运行一下就自动 ...
zz999 发表于 2012-4-2 13:45


弄个查看EXE文件资源的工具, 比如 exescope 试一试吧?
发表于 2012-4-2 17:58:06 | 显示全部楼层
回复  veket_linux

这个我知道,文件是别人写的,我想用他释放下来的文件。
有些文件他运行一下就自动 ...
zz999 发表于 2012-4-2 13:45


最笨的办法,用变速齿轮,降低系统运行速度,然后抓紧时间复制。

评分

参与人数 1金钱 +10 收起 理由
user3000 + 10

查看全部评分

发表于 2012-4-2 18:01:46 | 显示全部楼层
最笨的办法,用变速齿轮,降低系统运行速度,然后抓紧时间复制。
lpxx 发表于 2012-4-2 17:58


Cool, 这也是一个好办法!
 楼主| 发表于 2012-4-6 19:36:03 | 显示全部楼层
回复 8# lpxx

方法是好,但是有些语句是在满足条件下才执行的。难啊,不能提取全啊!
发表于 2012-4-7 12:45:20 | 显示全部楼层
希望高手共享例子
发表于 2012-4-7 13:14:42 | 显示全部楼层
其实很简单,,只需要把那个解压出来的文件改成只读属性,,程序运行的时候把那些文件拷出来就行了。。

While 1
FileSetAttrib (文件夹名 & "\*.*","+R")
WEnd
发表于 2012-4-7 13:36:38 | 显示全部楼层
楼上正解,写个while 复制到指定目录就是了。
发表于 2012-4-7 16:02:29 | 显示全部楼层
回复 12# zcx880517
只读时, 就解压不进去任何文件了.
发表于 2012-4-7 16:24:32 | 显示全部楼层
回复 14# user3000


    不是改文件夹为只读属性,,是将解压的那些文件改成只读属性。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-25 08:00 , Processed in 0.087568 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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