tubaba 发表于 2014-8-16 20:39:10

一个简单的file2bin小工具

本帖最后由 tubaba 于 2016-10-29 13:12 编辑

此工具不再更新.如有需要请使用au3encode,在代码转换页里已包含了本工具所有功能.并有扩展

{:face (207):} 一句话说明,就是把任何一个文件以二进制的方式保存在au3脚本中,并按要求释放文件

与fileinstall功能类似,但不同的是,这个工具将二进制文件转换成au3脚本格式,在使用时只要包含在主脚本,即可按要求生成二进制文件,如果目标文件是文本文件,这个工具还可以生成一个au3写文本的脚本,它的作用将源文件文本保存在AU3函数中,执行这个函数就可以得到与源文件相同的文件,我经常用它来得到写文本的AU3代码,来放入我其它的程序中,比如一个简单的she皮肤预览小工具(自带皮肤),支持生成引用代码,这个程序生成引用代码就是用这个工具得到的

使用方法,直接将目标文件拖入程序框体即可

也许有人说,直接用fileinstall不就成了,但我要说的是,这个可比fileinstall好用多了,最简单的应用就是用它生成一个写脚本源代码的脚本,包含到你的程序中,需要的时候即可释放,再也不怕代码丢失了

下面是用这个程序生成的代码,执行它试试#include-Once
_Txt()
Func _Txt($ReleaseDir = @ScriptDir)       ;生成的目标文件路径
        Local $FilePath = $ReleaseDir & "\说明_New.au3"
        Local $Target = FileOpen($FilePath, 2 + 8)
        If $Target = -1 Then Return SetError(1, 0, False)
        FileWriteLine($Target, '#PRE_UseX64=n')
        FileWriteLine($Target, 'If @AutoItX64 Then')
        FileWriteLine($Target, "MsgBox(64,'错误','请使用X86架构的autoit运行此脚本')")
        FileWriteLine($Target, 'Exit')
        FileWriteLine($Target, 'EndIf')
        FileWriteLine($Target, ';~ 说明:')
        FileWriteLine($Target, ';~ 1.把"_SHE.au3"和"SkinH.au3"放入到主脚本目录下')
        FileWriteLine($Target, ';~ 2.请使用X86版本编译')
        FileWriteLine($Target, ';~ 3.在你的主脚本文件内加入以下几行:')
        FileWriteLine($Target, '')
        FileWriteLine($Target, '#include "_SHE.au3"')
        FileWriteLine($Target, '#include "SkinH.au3"')
        FileWriteLine($Target, 'Global $fShe = _SHE()')
        FileWriteLine($Target, '_SkinH_AttachEx($fShe)')
        FileWriteLine($Target, '_SkinH_SetAero(1)')
        FileWriteLine($Target, '')
        FileWriteLine($Target, 'Local $test')
        FileWriteLine($Target, "$test &='说明:' & @CRLF")
        FileWriteLine($Target, "$test &='1.把" & '"_SHE.au3"和"SkinH.au3"放入到主脚本目录下' & "' & @CRLF")
        FileWriteLine($Target, "$test &='2.请使用X86版本编译' &@CRLF")
        FileWriteLine($Target, "$test &='3.在你的主脚本文件内加入以下几行:' & @CRLF")
        FileWriteLine($Target, "$test &='#include " & '"_SHE.au3"' & "' & @CRLF")
        FileWriteLine($Target, "$test &='#include " & '"SkinH.au3"' & "' & @CRLF")
        FileWriteLine($Target, "$test &='Global $fShe = _SHE()' & @CRLF")
        FileWriteLine($Target, "$test &='_SkinH_AttachEx($fShe)' & @CRLF")
        FileWriteLine($Target, "$test &='_SkinH_SetAero(1)' & @CRLF")
        FileWriteLine($Target, "MsgBox(64,'说明',$test)")
        FileClose($Target)
        Return SetError(0, 0, True)
EndFunc源码回复可见
**** Hidden Message *****

tubaba 发表于 2014-8-16 21:26:26

本帖最后由 tubaba 于 2014-8-16 21:32 编辑

另一个应用:有一行文本,同时包含多个单引号,双引号,比如下面这行
$test &='1.把"_SHE.au3"和' & "'SkinH.au3'放入到主脚本目录下'" & @CRLF

如果要msgbox上面这句话,看到这么多的引号会不会头晕??那么上面这个工具就派用场了,把这句话保存为一个文本,选择生成au3写文本代码,处理之后得到以下代码:Func _FiletTxt($ReleaseDir = @ScriptDir)       ;生成的目标文件路径
        Local $FilePath = $ReleaseDir & "\File2Bin.zip_Txt_New.au3"
        Local $Target = FileOpen($FilePath, 2 + 8)
        If $Target = -1 Then Return SetError(1, 0, False)
        FileWriteLine($Target, "$test &='1.把" & '"_SHE.au3"和' & "' & " & '"' & "'SkinH.au3'放入到主脚本目录下'" & '" & @CRLF')
        FileClose($Target)
        Return SetError(0, 0, True)
EndFunc原来如此简单
msgbox(0,0,"$test &='1.把" & '"_SHE.au3"和' & "' & " & '"' & "'SkinH.au3'放入到主脚本目录下'" & '" & @CRLF')

jkq920 发表于 2014-8-16 23:57:35

我还是没理解明白

xinde30sandywl 发表于 2014-8-17 00:27:15

帮你测试了

pk196371 发表于 2014-8-17 03:00:29

没太懂什么意思。

zhaoyun 发表于 2014-8-17 14:12:57

看啊可能、、、

zhongzijie 发表于 2014-8-17 16:20:35

收藏,一会下载测试。

ak47gglllk 发表于 2014-8-18 09:54:03

感谢感谢,学习,学习

kk_lee69 发表于 2014-8-18 11:22:35

回复 1# tubaba

這是個好東西!!
這個有源碼嗎?? 我是繁體的 沒源碼轉換一下 我用不了的

lpxx 发表于 2014-8-18 16:45:45

感谢分享,收藏了。

theo2008 发表于 2014-8-18 17:25:24

看的不是很明白

abcd1258 发表于 2014-8-19 18:27:15

回复看看先。

chamlien 发表于 2014-8-19 20:25:27

回复看看源码

meteor0330 发表于 2014-8-20 08:55:51

我和楼主之间肯定有一个人的语文是体育老师教的!

即即 发表于 2014-8-20 14:00:31

看看是什么东西
页: [1] 2 3 4
查看完整版本: 一个简单的file2bin小工具