• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 视频播放控件

视频播放控件

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了视频控件下载,摄像采集控件,网页视频播放控件,flash视频播放控件,flash插件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 视频播放控件
描述:

我这里有个解码库(.dll),是个COM组件,需要做个控件,实现视频解码播放功能。控件需要嵌入到IE浏览器中,视频文件存放在WEB服务器上。因才开始学COM,现在有几个问题,等大神指教。
1、在打开网页的时候,COM怎样实现本地注册。
2、只有些.DLL文件,怎样通过代码实现注册,而不是regsvr32命令手动注册。
3、通过pTypeLib->GetTypeInfo(i, &pTypeInfo);函数得到:
IID_IDecoderManagerEvents     类型:TKIND_DISPATCH
CLSID_DecoderManager   Class  类型:TKIND_COCLASS
IID_IDecoderManager           类型:TKIND_DISPATCH
还有一些只有GUID,没名字,不知道是什么东西。
文档中列出了一系列操作函数,我用这些函数应该先找到接口的地址,这里就有个问题,有两个IID,我怎么知道属于哪个IID,应该怎样去调用这些函数。
#include <Windows.h>
#include <stdio.h>
#include "../include/SMFPlay/include/SMFPlayAPI.h"
#pragma comment(lib, "Kernel32.lib")
#pragma comment(lib, "../include/SMFPlay/lib/SMFPlay.lib")
#define MYCON __thiscall
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow)
{
::CoInitialize(NULL);
CLSID clsid;
ITypeLib *pTypeLib = NULL;
ITypeInfo *pTypeInfo = NULL;
TYPEATTR *pTypeAttr = NULL;
WCHAR *pwszProgID = NULL;
IClassFactory *pClf = NULL;
IUnknown *pUnknown = NULL;
IID pid ;
HRESULT hRlt;
UINT iCount;
hRlt = ::LoadTypeLib(L"../include/DecoderFactory.dll", &pTypeLib);
iCount = pTypeLib->GetTypeInfoCount();
for (int i=0; i!=iCount; ++i)
{
hRlt = pTypeLib->GetTypeInfo(i, &pTypeInfo);
hRlt = pTypeInfo->GetTypeAttr(&pTypeAttr);
if (TKIND_COCLASS == pTypeAttr->typekind)
{
hRlt = ::ProgIDFromCLSID(pTypeAttr->guid, &pwszProgID);
}
if (TKIND_DISPATCH == pTypeAttr->typekind)
{
pid = pTypeAttr->guid;
}
pTypeInfo->ReleaseTypeAttr(pTypeAttr);
pTypeInfo->Release();
}
::CLSIDFromProgID(pwszProgID, &clsid);
::CoGetClassObject(clsid, CLSCTX_INPROC_SERVER, NULL, IID_IClassFactory, (void**)&pClf);
pClf->CreateInstance(NULL, IID_IUnknown, (void**)&pUnknown);
void *pvoid = NULL;
hRlt = pUnknown->QueryInterface(pid, &pvoid);
        // hRlt = pUnknown->QueryInterface(IID_IDecoderManager, &pvoid);
        // ...
::CoUninitialize();
return 0;
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 视频播放控件

相关文章

  • 2017-06-04 为什么这个CLSID_WavDestFilter注册成功了,但是不能用
  • 2017-06-05 各位老哥。用c++编一个画线程序。很急!!
  • 2017-06-05 两个计时器同时运行时,出现等待的情况,如何解决?
  • 2017-06-05 怎样取得后台进程得状态在线等待!!!!
  • 2017-06-04 关于程序安全性的问题。急~~
  • 2017-06-05 windows7下vb6怎么不能调用com啊
  • 2017-06-04 关于MFC使用ATL的问题!请高手进来看看!
  • 2017-06-04 DirectShow显示音频波形
  • 2017-06-04 如何向word插入自己写的控件?
  • 2017-06-04 OPENCV封装成DLL的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • howtoregisterocxfilesofActiveXinruntime?
    • 关于Wtsapi32dll的问题
    • 高分求将一word文档中的表格copy到另一word文档的最后的程序代码!谢谢!
    • solidworks二次开发问题(VC)!!想在零件中实现“分割”,生成多实体。
    • 如何实现自动向打开网页中的登录页面填写用户ID和密码!(问题解决必有高分,up有分)
    • 如何包含别人的dll和lib
    • NT服务如何访问共享文件夹
    • 新建一个mfc程序结果。。。。
    • ActiveX控件在IE中不能显示,在其他浏览器可以
    • VC++技术问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有