快讯

从问题到结果 ――EXE2SWF的开发手记

2004-02-14 09:34  出处:电脑爱好者  作者:Daffodil  责任编辑:zwg 

下面给出简单的示例代码,仅供参考: function Swf2Exe(Source, Destiny, Linker: string): string; var // Source、Destiny、Linker分别是swf、exe和Standalone Player的文件名 SourceStream, DestinyStream, LinkStream: TFileStream; flag: Cardinal; SwfFileSize: integer; begin result := 'something error'; // 建立EXE文件 DestinyStream := TFileStream.Create(Destiny, fmCreate); try // 追加Standalone Player LinkStream := TFileStream.Create(Linker, fmOpenRead or fmShareExclusive); try DestinyStream.CopyFrom(LinkStream, 0); finally LinkStream.Free; end; // 追加SWF文件 SourceStream := TFileStream.Create(Source, fmOpenRead or fmShareExclusive); try DestinyStream.CopyFrom(SourceStream, 0); // 追加FA123456标志 flag := $FA123456; DestinyStream.WriteBuffer(flag, sizeof(integer)); // 追加SWF文件长度 SwfFileSize := SourceStream.Size; DestinyStream.WriteBuffer(SwfFileSize, sizeof(integer)); result := ''; finally SourceStream.Free; end; finally DestinyStream.Free; end; end;   至此,SWF与EXE互相转换的程序全部完成了。程序能够正确识别Flash4以及Flash5生成的EXE形式的Flash文件。不可否认,这个程序也不是万能的,网络中仍然存在一些非Macromedia官方的EXE形式的Flash文件。如果你掌握了文件分析的本领,那么这应该也不是什么难事吧?   程序在Delphi6、Windows98/2000下调试通过。
键盘也能翻页,试试“← →”键
IT热词搜索 来源:360新闻
软件论坛帖子排行
相关文章

相关软件:

腾讯QQ2012
大小:52.93 MB 授权:免费
腾讯QQ2012
立即下载
腾讯QQ2013
大小:49.32 MB 授权:免费
腾讯QQ2013
立即下载