国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

exe2swf 工具(Adodb.Stream版)

2020-07-26 12:15:21
字體:
來源:轉載
供稿:網友
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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武川县| 宿州市| 武川县| 碌曲县| 德惠市| 冀州市| 玛沁县| 白沙| 桐城市| 新丰县| 阆中市| 桃江县| 张家港市| 平昌县| 资阳市| 连云港市| 吐鲁番市| 彝良县| 昆山市| 双峰县| 德江县| 顺义区| 昌宁县| 宣武区| 盐山县| 镇沅| 青铜峡市| 丰宁| 井研县| 通江县| 平远县| 阳江市| 牡丹江市| 天长市| 台安县| 托克逊县| 原平市| 邵武市| 凤冈县| 鲁山县| 老河口市|