999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VB 6.0中實現swf格式文件到exe格式文件的轉換

2011-12-31 00:00:00孟偉
數學學習與研究 2011年23期

【摘要】exe格式的swf文件不過是一個Flash播放器程序后面跟著一個swf文件,兩個文件合成一個文件.由于它自帶了播放器,所以比較方便,但缺點是文件體積大.本文著重介紹運用VB 6.0實現對*.swf文件到*.exe文件的轉換.

【關鍵詞】VB6.0;轉換;Flash播放器

1.引 言

在實際教學中,我們經常會遇到這樣的問題,我們制作的Flash課件拿到沒有安裝Flash播放器的機器上不能夠播放演示.那么,有沒有一種好的辦法能夠在沒有安裝Flash播放器的機器上順利地播放Flash程序呢?帶著這個問題,我們首先想到了格式轉換,利用VB6.0能夠很好地解決此問題.

2.播放器對swf文件的處理

Flash播放器在一個顯示幀標簽到來之前會處理顯示幀標簽之前swf文件的所有標簽.在這個時候,播放列表被復制到屏幕上面,與此同時Flash播放器在處理下一幀之前是空閑的.第一幀所顯示的內容,是在第一個顯示幀標簽之前的所有控制型標簽操作產生的累積效果.第二幀所顯示的內容,是從文件開始到第二個顯示幀標簽所有控制型標簽操作產生的累積效果.以此類推.

3.由swf文件轉換為exe格式的文件

swf文件轉換為exe格式的文件轉換步驟:

(1)以二進制方式讀入你選定的Flash播放器,并原封不動地寫入新文件.這個播放器以Adobe Flash Player為宜.播放器的版本不要太高,6.0左右即可,因為版本越高,體積越大.

(2)以二進制方式讀入一個swf文件內容,并原封不動地寫入新文件.

(3)寫入四個字節的文件標識符“56 34 12 FA”.

(4)寫入swf文件長度.

4.代碼實現過程

新建一個工程,在窗體上添加3個文本框、1個按鈕.

Text1輸入全路徑源文件名,Text2輸入轉換后的全路徑文件名,Text3輸入全路徑播放器文件名.

按鈕1的標題是“轉為exe”.

如下圖所示:

程序代碼:

Option Explicit

Private Sub Text1_DblClick() ’選擇源文件

On Error GoTo 100

CD.Filter = \"*.exe;*.swf|*.exe;*.swf\"

CD.ShowOpen

If Len(Dir(CD.FileName)) = 0 Then Exit Sub

Text1 = CD.FileName

Text2 = Left(Text1, Len(Text1) - 3) IIf(LCase(Right(Text1, 3)) = \"swf\", \"exe\", \"swf\")

100

End Sub

Private Sub Text3_DblClick() ’選擇播放器

On Error GoTo 100

CD.Filter = \"播放器文件(*.exe)|*.exe\"

CD.ShowOpen

If Len(Dir(CD.FileName)) Then Text3 = CD.FileName

100

End Sub

Private Sub Command1_Click() ’SWF轉EXE

If Len(Text1) = 0 Or LCase(Right(Text1, 3)) <> \"swf\" Then MsgBox \"請選擇要轉換的 SWF 文件\": Exit Sub

If Len(Text3) = 0 Or LCase(Right(Text3, 3)) <> \"exe\" Then MsgBox \"請輸入播放器文件名\": Exit Sub

If Len(Text2) = 0 Then MsgBox \"請輸入要保存的 EXE 文件名\": Exit Sub

If SWFtoEXE(Text1, Text2, Text3) Then

MsgBox \"轉換成功!\"

Else

MsgBox \"轉換失敗!\"

End If

End Sub

Private Sub Command2_Click() ’EXE轉SWF

If Len(Text1) = 0 Or LCase(Right(Text1, 3)) <> \"exe\" Then MsgBox \"請選擇要轉換的 EXE 文件\": Exit Sub

If Len(Text2) = 0 Then MsgBox \"請輸入要保存的 SWF 文件名\": Exit Sub

If EXEtoSWF(Text1, Text2) Then

MsgBox \"轉換成功!\"

Else

MsgBox \"轉換失敗!\"

End If

End Sub

Private Function SWFtoEXE(swfFile As String, exeFile As String, PlayreFile As String) As Boolean

On Error GoTo 100

Dim fLen As Long

Dim Dat() As Byte

Open swfFile For Binary As #1’打開待轉換的SWF文件

Open exeFile For Binary As #2’創建將生成的EXE文件

Open PlayreFile For Binary As #3’創建將生成的EXE文件

fLen = LOF(3)

ReDim Dat(fLen - 1)

Get #3, , Dat

Put #2, , Dat ’將播放器寫入文件2

fLen = LOF(1)

ReDim Dat(fLen - 1)

Get #1, , Dat

Put #2, , Dat ’將SWF文件寫入到文件2

ReDim Dat(3)

Dat(0) = Val(H56): Dat(1) = Val(H34): Dat(2) = Val(H12): Dat(3) = Val(HFA) ’56 34 12 FA是EXE形式的標識符

Put #2, , Dat ’寫入標識符

Put #2, , fLen ’寫入SWF文件長度

SWFtoEXE = True

100

Close

End Function

Private Function EXEtoSWF(exeFile As String, swfFile As String) As Boolean

On Error GoTo 100

Dim Dat() As Byte

Dim fLen As Long

Dim n As Long, i As Long, st As String

Open exeFile For Binary As #1

fLen = LOF(1) ’獲取exe文件長度

ReDim Dat(3)

Get #1, fLen - 7, Dat ’獲取exe格式的Flash文件標識

For i = 0 To 3: st = st Hex(Dat(i)): Next

If st <> \"563412FA\" Then GoTo 100 ’如果不是EXE格式的Flash文件退出

Get #1, fLen - 3, n ’獲取exe文件中的swf部分長度

ReDim Dat(n - 1)

fLen = fLen - n - 7

Get #1, fLen, Dat ’讀取exe文件中的swf部分

Close #1

st = \"\"

For i = 0 To 2: st = st Chr(Dat(i)): Next

If InStr(\"FWS,CWS\", st) = 0 Then Exit Function ’如果不是EXE格式的Flash文件退出

Open swfFile For Binary As #2

Put #2, , Dat

Close #2

EXEtoSWF = True

Exit Function

100

Close

End Function

以上程序代碼為*.swf文件到*.exe文件的轉換.由于篇幅有限,我們對以上的EXEtoSWF 函數的代碼稍加改動,還可以由exe格式的文件中剝離出播放器來.

【參考文獻】

[1]Visual Basic從入門到精通.北京:人民郵電出版社,2010.

[2]剖析SWF文件結構探秘AVM運行原理.by laan,2009(12).

[3]龔沛曾,等.Visual Basic程序設計簡明教程.北京:高等教育出版社,2006.

主站蜘蛛池模板: 五月天香蕉视频国产亚| 国产精品男人的天堂| 亚洲国产成人精品青青草原| 国产区在线观看视频| 超清人妻系列无码专区| 中文字幕在线看视频一区二区三区| 91最新精品视频发布页| 亚洲精品国产自在现线最新| 毛片视频网| 成人va亚洲va欧美天堂| 亚洲日本中文综合在线| 99视频在线免费| 国产精品va免费视频| 青青草久久伊人| 色窝窝免费一区二区三区| 欧美日韩中文国产| 国语少妇高潮| 欧美黄色网站在线看| 亚洲女同一区二区| www.91在线播放| 国产成人8x视频一区二区| 国产资源站| 一级一级一片免费| 久久久久无码精品国产免费| 久久精品亚洲热综合一区二区| 国产一区二区三区精品欧美日韩| 亚洲男人的天堂在线| 伊人五月丁香综合AⅤ| 国产精品浪潮Av| a在线亚洲男人的天堂试看| 免费无码又爽又黄又刺激网站| 色亚洲成人| 国产成人成人一区二区| 3p叠罗汉国产精品久久| 国产成人精品优优av| 国产麻豆福利av在线播放| 国产第四页| 国产精品丝袜视频| 精品五夜婷香蕉国产线看观看| 在线观看免费国产| 久久精品日日躁夜夜躁欧美| 国产精品美人久久久久久AV| 午夜毛片福利| 人妻少妇久久久久久97人妻| 国产精品尤物铁牛tv | 国产色婷婷| 真人高潮娇喘嗯啊在线观看 | 亚洲精品国产综合99久久夜夜嗨| 亚洲人成人伊人成综合网无码| 无码一区中文字幕| 亚洲精品成人片在线观看 | 99精品福利视频| 国产午夜小视频| 香蕉久人久人青草青草| 欧美精品三级在线| 精品国产成人三级在线观看| 国产成人精品一区二区秒拍1o| 看看一级毛片| 国产91av在线| 91人妻日韩人妻无码专区精品| 国产精品视频999| 91人妻日韩人妻无码专区精品| 日韩区欧美区| 久久久久久久久18禁秘| 2021天堂在线亚洲精品专区| 国产一级特黄aa级特黄裸毛片| 色呦呦手机在线精品| 怡红院美国分院一区二区| A级全黄试看30分钟小视频| 久久婷婷六月| 日韩在线中文| 国内自拍久第一页| 色综合五月| 亚洲欧美不卡视频| 91福利在线观看视频| 日韩精品亚洲人旧成在线| 久操中文在线| 都市激情亚洲综合久久| 久久91精品牛牛| 亚洲精品成人福利在线电影| 九九热在线视频| 日本一区二区三区精品国产|