灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3266回复:0

把Flash文件转换为Exe文件

楼主#
更多 发布于:2011-12-14 00:03
下面的代码把一个Flash文件转换为exe文件.



function Swf2Exe(S, D, F: string): string;
//S = Source file (swf)
  //D = Destionation file (exe)
  //F = Flash Player
var
SourceStream, DestinyStream, LinkStream: TFileStream;
flag: Cardinal;
SwfFileSize: Integer;
begin
  Result := ''something error'';
  DestinyStream := TFileStream.Create(D, fmCreate);
  try
    LinkStream := TFileStream.Create(F, fmOpenRead or fmShareExclusive);
    try
      DestinyStream.CopyFrom(LinkStream, 0);
      finally
        LinkStream.Free;
      end;
      
      SourceStream := TFileStream.Create(S, fmOpenRead or fmShareExclusive);
      try
        DestinyStream.CopyFrom(SourceStream, 0);
        flag := $FA123456;
        DestinyStream.WriteBuffer(flag, SizeOf(Integer));
        SwfFileSize := SourceStream.Size;
        DestinyStream.WriteBuffer(SwfFileSize, SizeOf(Integer));
        Result := '''';
        finally
          SourceStream.Free;
        end;
        finally
          DestinyStream.Free;
        end;
      end;
      
      procedure TForm1.Button1Click(Sender: TObject);
      begin
        Swf2Exe(''c:\somefile.swf'', ''c:\somefile.exe'',
        ''c:\Program Files\Macromedia\Flash MX\Players\SAFlashPlayer.exe'');
      end;


有了这个,你就可以制作自己的Flash贺卡了.

喜欢0 评分0
游客

返回顶部