exe2swf 工具(Adodb.Stream版)_vbs

Exe2swf ,将exe 格式的 flash文件转为swf 格式。网上有很多这方面的工具,这个是用vbscript写的。
用法:
将下面代码存为 exe2swf.vbs 
将exe格式的flash拖放在此文件上,即可生成swf文件,
更新日期:2005-01-20 09:30

复制代码 代码如下:

'exe2swf工具,
'用法:将exe格式的flash拖放在此文件上,即可生成swf文件,
'haiwa@http://www.51windows.Net
'感谢jimbob提供帮助.
dim AsoR,FlashFileName
Set ArgObj = WScript.Arguments

dim PositionStart,OKed,Tag,EndSize
PositionStart = 920000'flash 4的播放器的大致字节数
EndSize = 8    'exe文件结尾字节数,其它版本可以设置为0
FlashFileName = ArgObj(0)'传递路径

set AsoR=CreateObject("Adodb.Stream")
AsoR.Mode=3 
AsoR.Type=1 
AsoR.Open 
set AsoW=CreateObject("Adodb.Stream")
AsoW.Mode=3 
AsoW.Type=1 
AsoW.Open
AsoR.LoadFromFile(FlashFileName)

OKed = true
dim filesize
filesize = AsoR.size

if filesize>PositionStart then
    while OKed
        AsoR.Position = PositionStart
        Tag = Bin2Str(AsoR.read(20))
        if instr(Tag,"0000000") >0 then
            PositionStart = PositionStart + 1
        else
            PositionStart = PositionStart + 20
        end if
        if Tag = "00000000000000000708783" or Tag = "00000000000000000678783" then
            OKed = false
        end if
        'if  PositionStart > filesize then
        '    OKed = false
        'end if
    wend
else
    msgbox "文件错误"
end if
PositionStart = PositionStart + 16
'msgbox PositionStart
AsoR.Position = PositionStart
AsoW.write AsoR.read(filesize-int(PositionStart)-int(EndSize))

'新文件名
dim newFileName
'newFileName = left(FlashFileName,len(FlashFileName)-4) & ".swf"
newFileName = FlashFileName & ".swf"

Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(newFileName)) Then
    overwrite = msgbox(newFileName&" 已存在"& vbnewline &"要替换它吗?",308,"文件已经存在 - exe2swf脚本")
    if overwrite=6 then
        AsoW.SaveToFile newFileName, 2
    else
        msgbox "操作被取消",0,"exe2swf脚本"
    end if
else
    AsoW.SaveToFile newFileName, 1
end if

AsoR.close
set AsoR=nothing
AsoW.close
set AsoW=nothing

Function Bin2Str(Bin)
    Dim I, Str
    For I=1 to LenB(Bin)
        clow=MidB(Bin,I,1)
        if ASCB(clow)<128 then
            Str = Str & (ASCB(clow))
        else
            I=I+1
            if I <= LenB(Bin) then Str = Str & (ASCW(MidB(Bin,I,1)&clow))
        end if
    Next 
    Bin2Str = Str
End Function

时间: 2024-08-04 10:53:25

exe2swf 工具(Adodb.Stream版)_vbs的相关文章

用vbs实现的exe2swf工具脚本代码_vbs

复制代码 代码如下: dim AsoR,FlashFileName  Set ArgObj = WScript.Arguments  dim PositionStart,OKed,Tag,EndSize  PositionStart = 920000'flash 4的播放器的大致字节数  EndSize = 8    'exe文件结尾字节数,其它版本可以设置为0  FlashFileName = ArgObj(0)'传递路径  set AsoR=CreateObject("Adodb.Strea

adodb.stream读文件到数组的代码_vbs

Function filenum(filename,i) Dim st,s  Set st= CreateObject("ADODB.Stream") st.Type = 2 '流类型为文本 st.Mode = 3 '模式为读写 st.Open st.LineSeparator=13  st.LoadFromFile filename Do While Not St.EOS  s = Split(st.readtext(), vbCrLf)    Loop  'MsgBox UBoun

关于Adodb.Stream 的使用说明

ado|stream|ado|stream 组件:"Adodb.Stream"有下列方法:Cancel 方法 使用方法如下 Object.Cancel 说明:取消执行挂起的异步 Execute 或 Open 方法的调用.Close 方法 使用方法如下 Object.Close :关闭对像CopyTo 方法 使用方法如下 Object.CopyTo(destStream,[CharNumber]) 说明:将对像的数据复制,destStream指向要复制的对像,CharNumber为可选参

关于Adodb.Stream的写数据库数据到客户端

ado|stream|客户端|数据|数据库 这是一个从服务器数据库直接下数据到客户端文件的例子,文件名和扩展名可以根据需要随便写.new/temp.htm要求真实存在,其实没有什么作用,只是引导一下,否则不能对stram数据进行写操作. 网络上流传的这方面的东西不少,但多数是copy来的,很简单的事情搞得那么复杂.真正经过实践的东东少得可怜.于是自己写了一个,虽然简单,也有些问题,但是copy下去就可以用了.有问题的朋友可以跟我联系,好一起学习. filemystream=server.mapp

Adodb.Stream 组件的使用说明

ado|stream Adodb.Stream是ADO的Stream对象,提供存取二进制数据或者文本流,从而实现对流的读.写和管理等操作. 有下列方法:Cancel 方法     使用方法如下     Object.Cancel     说明:取消执行挂起的异步 Execute 或 Open 方法的调用.Close  方法     使用方法如下     Object.Close     :关闭对像CopyTo 方法     使用方法如下     Object.CopyTo(destStream,

组件:"Adodb.Stream" 浅释

ado|stream  组件:"Adodb.Stream" 有下列方法: Cancel 方法 使用方法如下 Object.Cancel 说明:取消执行挂起的异步 Execute 或 Open 方法的调用. Close 方法 使用方法如下 Object.Close 说明:关闭对像 CopyTo 方法 使用方法如下 Object.CopyTo(destStream,[CharNumber]) 说明:将对像的数据复制,destStream指向要复制的对像,CharNumber为可选参数,指要

adodb Stream 详细用法

ado|stream|ado|stream 组件:"Adodb.Stream"有下列方法:Cancel 方法     使用方法如下     Object.Cancel     说明:取消执行挂起的异步 Execute 或 Open 方法的调用.Close  方法     使用方法如下     Object.Close     :关闭对像CopyTo 方法     使用方法如下     Object.CopyTo(destStream,[CharNumber])     说明:将对像的数

使用XMLDOM,adodb.stream创建HTML文件

ado|dom|stream|xml|创建 XMLDOM的方法是在 l-blog 的作者 卫慧杰那里找到的,一直没听说这种方法,顺便整理一下adodb.stream的生成方法. 1.使用XMLDOMdim xmlStringxmlString="<html>" & chr(10) & "<head>" & chr(10) & "<title>test</title>"

利用ADODB.Stream使用浏览器下载服务器文件

ado|stream|服务器|浏览器|下载 download.asp?file=相对路径的文件就可以把这个文件下载下来 <%  2  3 call downloadFile(replace(replace(Request("file"),"\",""),"/",""))  4  5 Function downloadFile(strFile)  6 ' make sure you are on the