不封顶 求flash所带 flashplayer.ocx 这个ActiveX控件将*.swf格式转成*.exe格式的方法或属性.不要别的转换工具 有谁知道的?大

  • 主题发起人 主题发起人 dingbaosheng
  • 开始时间 开始时间
D

dingbaosheng

Unregistered / Unconfirmed
GUEST, unregistred user!
不封顶 求flash所带 flashplayer.ocx 这个ActiveX控件将*.swf格式转成*.exe格式的方法或属性.不要别的转换工具 有谁知道的?大量送分中......@_@ (300分)<br />如题!!!
不要别的转换工具,只要flashplayer.ocx这个ActiveX控件所带的或用delphi可以
处理的,成功即另开题还可以给分。我现在可用分数有七千多,应该能满足大家的分分要求。
我的EMail:dbs@zhonghuan.net
 
这个问题很难么?我看过有软件实现这个功能的耶。有哪位GG或MM或DD帮忙的。要分尽管
开口啊。
 
[blue]关注!关注!~有空我也会找找哦。[:D][/blue]
 
我也有类似的问题
谁解决了
我那也有分
 
这类程序的原理应该就和自解压程序一样的,是个头文件,然后把本身后面的数据读出来播放!
 
flash转换SWF为EXE是将它的播放器绑在SWF文件中,这样文件会很大。
有没有更好的方法啊?另外:怎么通知绑在SWF文件中的播放器播放这个SWF文件啊?
 
那个 ocx 只是个播放器,不能转格式。
 
TO:孙老板
那我将swf文件和Flash播放器绑在一起,怎么通知绑在SWF文件中的播放器播放这个SWF
文件啊?像FLASH生成的那样?
 
把 swf 存入资源。主 form 上放 flash ocx。
程序运行时,从资源中读取 swf,生成个临时文件,让 ocx 播放。
 
用flash制作的exe文件其实就是把flash中的FlashPla.exe同swf文件相合并尔成的,
你可以用delphi中的“流”把这两个文件合并在一起。如果你是在大陆的话,你可以看看
今年《电脑爱好者》的第21期有比较详细的介绍,或者可以等一阵子去它的主页下载这个
程序的原代码!!如果你还想把程序变小一点,你可以在合并以前用aspack把FlashPla.exe
压缩一下可以减少50%的大小,只有190多K了。flashplayer.ocx好像没有这个功能吧!!!
 
TO:yysun,
我不想要临时文件啊,能不能做得像FLASH生成的那样?
To:001china,
我早去过电脑爱好者网站了,那篇文章点不开啊。源码也找不到,你手头上有么?我这
儿上街找书不方便:(
 
这个一般还是利用的资源文件! 我做个一个简单范例,可以将Swf转换为EXE,而且全屏播放!
不过,这种东西华而不实,转换后的EXE没压缩前随便就有七百K以上。 做个播放器岂不更方便。
你是不是想做电子贺卡?呵呵!
 
To:YB_unique
你的例子呢? 发给我吧,分照给100分 。OK。
dbs@zhonghuan.net
 
To dingbaosheng:
大概写了一个,你看看,不过,这样做出来的东东比Flashpla.exe生成的要大一些。
function Swf2Exe(SwfFile,ExeFile:string):Boolean;
var
Ss,Es,ps:TFileStream;
player:string;
Flag,Ssize:Longint;
begin
result:=False;
if Not FileExists(SwfFile) then exit;

if ExeFile='' then
Exefile:=invertfileNameExt(SwfFile)+'.exe'
else if Lowercase(ExtractFileExt(ExeFile))<>'.exe' then
Exefile:=invertfileNameExt(ExeFile)+'.exe';
Player:=Apppath+'Flashpla.exe';

while Not FileExists(player) do begin
if not inputdialog('Error','Flashpla.exe not exists',Player) then exit;
end;

try
Es:=TfileStream.Create(ExeFile,fmcreate);
try
// Write Flashpla.exe
try
ps:=TFileStream.create(player,fmOpenRead);
Ss:=TFileStream.create(SwfFile,FmOpenRead or fmShareExclusive);

Es.CopyFrom(ps,0);
Es.CopyFrom(SS,0);

//Write Flag
Flag:=$FA123456;
Es.Write(Flag,sizeof(Longint));

//write Swf File Length
Ssize:=Ss.Size;
Es.Write(SSize,sizeof(Longint));

finally
ps.free;
ss.free;
end;
result:=True;
except
SHowMessage('Error Occur');
end
finally
Es.Free;
end;
end;

 
To:布衣客
谢谢,代码我已经测试成功,给您先记100分。
To:ALL
有谁有今年《电脑爱好者》的第21期关于swf转成exe的介绍文章或程序的原代码!!!发
给我一样可得100分。
 
天哪 一不小心点错了 请布衣客到http://www.delphibbs.com/delphibbs/dispq.asp?lid=759515
来拿分 呜呜 可怜我的400分啊
 
To:dingbaosheng
001china,回答的最好,跟我的想法一样,你要的文章我今天杂志不在,明天扫描后给你!
 
后退
顶部