用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧C++ Builder

EXE 到 SWF 文件的转换代码

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 20:42:53

//-------------------------------------------------------------
/* Exe 格式 到 SWF 各式转换程序
   支持Flash6格式
   源码很容易看懂!
   有问题来信live_on@sohu.com 狭路相逢

这个函数是我的Live Flash 播放器的一部分 下载请到 http://www.2ccc.com/softf/2111_livefla.zip
呵呵,宣传而已:-)
*/

#include <vcl.h>
#pragma hdrstop

#include "exef.h"

//-------------------------------------------------------------

#pragma package(smart_init)
AnsiString exe2swf(AnsiString FileName)   //函数名
{
    int iFileHandle;
    unsigned long iFileLength;
    unsigned long iBytesRead;
    AnsiString dFileName;
    unsigned char *pszBuffer;
    //unsigned char *Buffer;

    iFileHandle = FileOpen(FileName.c_str(), fmOpenRead);//打开文件
    iFileLength = FileSeek(iFileHandle,0,2);//确定长度
     
    FileSeek(iFileHandle,0,0);
    pszBuffer = new char[iFileLength+1]; //读入源文件
    if (pszBuffer==NULL)
        {
        return(NULL);
        }
    iBytesRead = FileRead(iFileHandle, pszBuffer, iFileLength);
    FileClose(iFileHandle);//关闭
    //dFileName=
    dFileName=FileName.UpperCase ().SubString (1,FileName.Length () - 4)+".SWF" ;//生成目标文件名
  //  if (FileExists(dFileName))  //确定是否存在
    //    return (NULL);
      //printf("%d ",iBytesRead);
    int i=0;

    int ii=0;
    for (i=0 ;i<iFileLength-2;i++)   //匹配识别字符 FWS
        {
        //pszBuffer++;                     
        if ((pszBuffer[i-2]==0)&&(pszBuffer[i-1]==0)&&(pszBuffer[i]=='F')&&(pszBuffer[i+1]=='W')&&(pszBuffer[i+2]=='S'))
            {
            ii=i;
            }
        }
    i=ii;
    pszBuffer=pszBuffer+i;
    iFileHandle = FileCreate(dFileName.c_str() );
    if (i!=376831&&i!=286719&&i!=811008)  //是否为 4。5。6版本
        {
        if(!Application->MessageBoxA("文件格式异常!强制播放?","警告",IDOK))
            return (NULL);
        }

    FileWrite(iFileHandle, pszBuffer,iFileLength-i );
    FileClose(iFileHandle);

    delete [] pszBuffer;
    return(dFileName);
}

作者邮箱:lone@eyou.com  

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:4,859.37500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号