Transparent-Flash-Control-in-Plain-C编译问题

原文

 http://www.codeproject.com/Articles/178940/Enhanced-Transparent-Flash-Control-in-C

http://www.codeproject.com/Articles/14673/Transparent-Flash-Control-in-Plain-C

VC6编译会出现些问题。

1、FlashWnd.h头文件添加

//#import "progid:ShockwaveFlash.ShockwaveFlash" no_auto_exclude named_guids

//DirectDraw GUIDS

DEFINE_GUID2(CLSID_DirectDraw,0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35);
DEFINE_GUID2(CLSID_DirectDraw7,0x3c305196,0x50db,0x11d3,0x9c,0xfe,0x00,0xc0,0x4f,0xd9,0x30,0xc5);

DEFINE_GUID2(IID_IDirectDraw3,0x618f8ad4,0x8b7a,0x11d0,0x8f,0xcc,0x0,0xc0,0x4f,0xd9,0x18,0x9d);
DEFINE_GUID2(IID_IDirectDraw4,0x9c59509a,0x39bd,0x11d1,0x8c,0x4a,0x00,0xc0,0x4f,0xd9,0x30,0xc5);
DEFINE_GUID2(IID_IDirectDraw7,0x15e65ec0,0x3b9c,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b);

#if defined( _WIN32 ) && !defined( _NO_COM )
#undef INTERFACE
#define INTERFACE IDirectDraw4
DECLARE_INTERFACE_( IDirectDraw4, IUnknown )
{
 /*** IUnknown methods ***/
 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
 STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
 STDMETHOD_(ULONG,Release) (THIS) PURE;
 /*** IDirectDraw methods ***/
 STDMETHOD(Compact)(THIS) PURE;
 STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
 STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
 STDMETHOD(CreateSurface)(THIS_  LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;
 STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;
 STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;
 STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;
 STDMETHOD(FlipToGDISurface)(THIS) PURE;
 STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
 STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;
 STDMETHOD(GetFourCCCodes)(THIS_  LPDWORD, LPDWORD ) PURE;
 STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
 STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
 STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
 STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
 STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
 STDMETHOD(RestoreDisplayMode)(THIS) PURE;
 STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
 STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD) PURE;
 STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
};
#endif

 

2、

//_COM_SMARTPTR_TYPEDEF(IDirectDraw4, IID_IDirectDraw4);
 _COM_SMARTPTR_TYPEDEF(IDirectDraw4, __uuidof(IDirectDraw4));

 

3、tinyxml添加到项目

 

参考:http://bbs.csdn.net/topics/90280779

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值