分享
 
 
 

FLASH工具的秘密——SWF2EXE

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

在网上我们能下载到很多精彩的FLASH动画,它们通常*.SWF形式的,如果我们的电脑中没有安装FLASH或FLASH播放器,那么它们就无法在我们的电脑中闪耀。这将是一件非常遗憾的事,我们能否自己用VB写一个工具,将SWF形式的FLASH动画转变成可执行(EXE)形式的呢?当然可以啊,下面我们就一起一步一步的去制作这个小工具——SWF2EXE。

为了编写这个小工具,我们有必要先分析一下SWF形式和EXE形式FLASH文件的基本格式。由于篇幅所限,鉴于网上有很多介绍SWF形式和EXE形式的FLASH文件格式的文章,,我这里仅仅将本程序中所要用到的知识简单说明一下,其他的不再细说,请大家自己参阅相关文章。大家也可使用UltraEdit自行分析。EXE形式文件分为四个部分:FLASH自带的播放器、SWF文件、EXE形式的标识符(16进制表示为56 34 12 FA)和对应SWF文件的大小。

了解了EXE形式FLASH文件的格式,下面我们就用一步一步的编程实现。

第一步:定义资源文件

打开VB,建立一个EXE文件。将FLASH5中自带的播放器FlashPla.EXE添加为自定义资源,保存为工程1.res。属性如下:

类型:"CUSTOM"

编号:101

语言:中文(中国)

第二步:创建程序界面()

控件添加如图一,控件属性默认。

第三步:编写代码

以下内容为本程序代码部分,比较简单,而且注释也较为详细,相信大家能很容易理解。

Private Sub Command1_Click()

Const FILESIZE = 376832 '定义生成的播放器部分大小

Dim exetog As Long '定义EXE形式标识符

Dim filelong As Long

Dim copy() As Byte

copy = LoadResData(101, "CUSTOM") '将资源文件存放在copy()中

Open Text1.Text For Binary As #1 '打开待转换的SWF文件

Open Text2.Text For Binary As #2 '创建将生成的EXE文件

'将播放器以二进制形式写入到中的内容写入文件2中

For filelong = 0 To FILESIZE - 1

Put #2, , copy(filelong)

Next filelong

'将SWF文件写入到文件2中

filelong = LOF(1)

ReDim copy(filelong - 1) As Byte

Get #1, , copy

Put #2, , copy

'写入EXE形式文件标识符

filelong = LOF(2)

exetog = 1193046 '1193046是EXE形式的标识符(56 34 12 FA)中的前三个字节56 34 12的十进制值

Put #2, , exetog

Seek #2, filelong + 4 '调整文件指针到filelong+4字节处

exetog = 250 '250是EXE形式的标识符的最后一个字节FA的十进制值

Put #2, , exetog

Seek #2, filelong + 5 '调整文件指针到filelong+5字节处

'写入SWF文件长度

filelong = LOF(1)

Put #2, , filelong

Close #1

Close #2

End Sub

Private Sub Command2_Click()

End '退出

End Sub

Private Sub Form_Load()

'初始化

form1.caption = "EXE2SWF"

Label1.Caption = "SWF文件路径:"

Label2.Caption = "EXE文件路径:"

Text1.Text = ""

Text2.Text = ""

Command1.Caption = "转换"

Command2.Caption = "退出"

End Sub

http://sl_zyy.y365.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有