关于ShockwaveFlash截图的一个用法,请指教(100分)

  • 主题发起人 主题发起人 rejoise
  • 开始时间 开始时间
R

rejoise

Unregistered / Unconfirmed
GUEST, unregistred user!
var Bmp:TBitmap;
begin
Bmp.Width:=ShockwaveFlash1.width;
Bmp.Height:=ShockwaveFlash1.Height;
ShockwaveFlash1.PaintTo(Bmp.Canvas.Handle,0,0);
Bmp.SaveToFile('c:/tempfalsh.bmp');
end;
以上语句能程序里执行,但是我放在DLL里编译执行,会出现错误
Could not obtain OLE control window handle
我怀疑是paintTo出了问题,请教高手这是为什么,有什么解决方法?
谢谢!
 
大虾帮帮我,我再给分!
 
我再往上提一提
 
大富翁里没人会了吗...
 
你必须把你的调用程序的 application.handle 传给 DLL
DLL 里 Application.Handle := APPHandle;(假设 AppHandle 是你传入的参数)
动画显示(play)正常否?另外看看 CoInitialize 是否忘了调用。
 
var
Bmp1:TBitmap;
ShockwaveFlash2: TShockwaveFlash
// 声明变量
begin
Bmp1:=TBitmap.create;
ShockwaveFlash2:= TShockwaveFlash.CreateParented(Form1.Handle);
ShockwaveFlash2.LoadMovie(0,'c:/top.swf');
Bmp1.Width:=ShockwaveFlash2.width;
Bmp1.Height:=ShockwaveFlash2.Height;
ShockwaveFlash2.PaintTo(Bmp1.Canvas,0,0);
Bmp1.SaveToFile('c:/temp.bmp');
end;
 
接受答案了.
 
后退
顶部