炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3346|回复: 0

参考别人加载falsh播放器控件的方法

[复制链接]

该用户从未签到

发表于 2013-10-12 10:01:15 | 显示全部楼层 |阅读模式
在stdafx.h中国入
#include <atlbase.h>
extern CComModule _Module;
#include <atlcom.h>
#include <xcgui.h>

在主程序如下
#include "StdAfx.h"
#import "C:\WINDOWS\system32\Macromed\Flash\Flash32_11_9_900_117.ocx" rename_namespace("Flash")
#pragma warning(default:4146)
using namespace Flash;
typedef BOOL (*_AtlAxWinInit)();
typedef void (*_AtlAxGetControl)(HWND h,IUnknown** ppv);

typedef struct _ATLAXLIB{
    HMODULE hMod;
    _AtlAxWinInit AtlAxWinInit;
    _AtlAxGetControl AtlAxGetControl;
}ATLAXLIB;

BOOL InitAtlaxLib(ATLAXLIB* lib){
    lib->hMod=LoadLibrary("atl.dll");
    if(lib->hMod==NULL) return 0;
    lib->AtlAxWinInit=(_AtlAxWinInit)GetProcAddress(lib->hMod,"AtlAxWinInit");
    lib->AtlAxGetControl=(_AtlAxGetControl)GetProcAddress(lib->hMod,"AtlAxGetControl");
    return 1;
}
//void SSLWnd_Init(char *SS);
int APIENTRY WinMain(HINSTANCE hInstance,  HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
  ::CoInitialize(NULL);
XInitXCGUI();
//创建窗口
HWINDOW hWindow=XWnd_CreateWindow(400,200,800,900,L"炫彩界面库-窗口");
XWnd_ShowWindow(hWindow,SW_SHOW);
ATLAXLIB lib;
InitAtlaxLib(&lib);
lib.AtlAxWinInit();

HWND hEle=XWnd_GetHWnd(hWindow);
RECT rc;
GetWindowRect(hEle,&rc);
HWND x= CreateWindowEx(0,"AtlAxWin","{D27CDB6E-AE6D-11cf-96B8-444553540000}",WS_CHILD | WS_VISIBLE
            ,rc.top,rc.left,rc.right,rc.bottom,hEle,0,hInstance,0);
HRESULT hr;
CComPtr<IUnknown> spUnk;
CComPtr<IShockwaveFlash> m_sp;
  hr = AtlAxGetControl(x, &spUnk);
  if (SUCCEEDED(hr))
  {
   
  hr = spUnk ->QueryInterface(__uuidof(IShockwaveFlash), (void **)&m_sp);
  m_sp->LoadMovie(0,_T("d:\\flash2.swf"));
m_sp->Play();
  }

XRunXCGUI();
spUnk.Release();//可能会有问题,指针引用对象为空
m_sp.Release();
  CoUninitialize();
return 0;
}
主要是运用atl加载activex控件,那一串guid,接口呀是用oleview看的
参考atl加载控件,gridreport的例子

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-5-5 23:36 , Processed in 0.111437 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表