将FLASH的SWF文件转化为EXE: SWF2EXE

11 篇文章 1 订阅

将FLASH的SWF文件转化为EXE: SWF2EXE

  有时候会有这样的需求:将swf文件转换成自带exe格式的可执行程序,以达到可在没有安装Flash ActiveX控件的机器上运行,非常简单,上代码:

void CSWFDlg::OnOK() 
{
    swf2exe("C:\\tmp\\Clock.swf","C:\\tmp\\Soong.exe","C:\\tmp\\Player.exe");
}

void CSWFDlg::swf2exe(CString swffile, CString exefile, CString playerfile)
{
    CFile SourceStream( swffile,CFile::modeRead );
    CFile DestinyStream( exefile,CFile::modeCreate | CFile::modeWrite );
    CFile LinkStream( playerfile,CFile::modeRead );

    DWORD playerLen=LinkStream.GetLength();

    char* buf=new char[playerLen];

    LinkStream.Read(buf,playerLen);
    DestinyStream.Write(buf,playerLen);
    LinkStream.Close();
    
    delete buf;
    buf = new char[SourceStream.GetLength()];
    SourceStream.Read(buf,SourceStream.GetLength());
    DestinyStream.Write(buf,SourceStream.GetLength());

    int flag = 0xFA123456;
    DestinyStream.Write(&flag, sizeof(flag));
    
    DWORD len=SourceStream.GetLength();
    DestinyStream.Write(&len ,sizeof(DWORD));

    SourceStream.Close();
    DestinyStream.Close();
}


 RT:

CODE:经过测试,同样适用于最新的Flash Player 11.7

DWORD是32bit的,不用担心32bit的整形不能添加大的falsh文件。(0xFFFFFFFF)/1024/1024/1024=4G。因此最大可以设置一个4G的flash文件。

  我知道很多人对这个功能不屑,但是最新的FP已经没有生成exe的功能了,这个是个补充,比如FLASH CC已经不支持发布WIN PROJECT了。更多的人关心如何把这个加壳的EXE作为另一个主程序的UI呢?这样多高大上啊,网络上有很多方法,不再赘述了!


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值