如果OLE控件不存在的话,在
  try
  {
                   HRESULT hr;
     hr = ::CoInitializeEx( Null, COINIT_APARTMENTTHREADED );
                  if( FAILED(hr) )
                  _com_issue_error(hr);
  
LabLE1:      
          hr = m_lpAnimator.CreateInstance(CLSID_GifAnimator);
        if( FAILED(hr) )
       _com_issue_error(hr);  //如果控件没有注册,就会抛出异常
}
catch( _com_error e )
{
  //
  //这个可以检测该控件是否已经注册,如果没有注册则注册;
  CString str="没有注册类别";
  if (str==e.ErrorMessage())
  {
   char *p=str.GetBuffer(500);
   GetCurrentDirectory(500,p);
   str.ReleaseBuffer();
   str+="[url=file://\\ImageOle.dll]\\ImageOle.dll[/url]";
   CString regstr;
   regstr.Format("regsvr32 /s %s",str);
      WinExec(regstr,0);
      goto LabLE1;  //这里有点不合理,哈哈,凑合着用吧
  }
  AfxMessageBox(e.ErrorMessage());
  ::CoUninitialize();
}
的时候就会抛出异常;
在异常里这样做

转载于:https://www.cnblogs.com/carekee/articles/2039200.html

VC检测OLE控件是否已经注册,并注册它相关推荐

  1. PowerBuilder打开OLE控件页崩溃的解决办法

    PowerBuilder打开OLE控件页崩溃的解决办法 PB 执行 Insert -> OLE... -> Insert Control  - 崩溃 的解决办法 工具/原料 * PB12及 ...

  2. 彻底解决 PowerBuilder9.0打开OLE控件页崩溃的问题

    使用powerbuilder9.0时,insert coltrol ->ole时,PB崩溃了,今天又遇到这个问题了.原因不知道是安装了哪个软件引起来的. 分析了原因: 1.PB检索注册表:HKE ...

  3. VC++编写ActiveX控件

    前言:ocx是ocx控件的扩展名,OCX 是对象类别扩充组件.如果你用过Visual Basic或者Delphi一类的可视化编程工具,那么对控件这个概念一定不会陌生,就是那些工具条上的小按钮,如Edi ...

  4. 图解VC++开发ActiveX控件C#调用

    1 新建ActiveX控件工程 2 编译,运行 使用下图所示VC++自带测试工具来测试ActiveX控件: 3 测试容器 插入刚做的ActiveXDemo1控件 4 添加属性 添加名为outstr的属 ...

  5. 未能导入activex控件,请确保它正确注册的完美解决方案

    这个错误" 未能导入activex控件,请确保它正确注册"昨天下午让我和我同事花费了3个小时来调试这个错误,在使用VS2010的winfrom编程时加入com组件的时候,报这个错误 ...

  6. VC++ Tab Control控件的基本用法

    VC++ Tab Control控件的基本用法 该程序过程很简单,但是却说明了Tab Control控件的基本用法. 1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后 ...

  7. 拓展SOUI中SImRichEdit控件的视频OLE控件(VideoOle)

    视频定位控件数据可分为两部分: 可见部分:播放按钮.加载按钮.视频第一帧图片.视频时长 不可见部分:视频URL 以下为VideoOle控件头文件部分: extern "C" con ...

  8. 未能实例化2个ActiveX控件,请重新安装或注册这些控件并重试

    vs2017或vs2015mfc双击dialog的ui界面出现:未能实例化2个ActiveX控件,请重新安装或注册这些控件并重试 实际解决方法: 1:下载MScomm控件,我把文件上传到了百度空间,地 ...

  9. richedit php,VC中RichEdit 控件的使用

    在mfc中使用工具栏里的RichEdit 控件时,应该在程序初始话时加入AfxInitRichEdit,或者 AfxInitRichEdit2 否则的话 程序会起不来.也没有任何错误信息. 这俩函数 ...

最新文章

  1. 第41周星期四及Spring学习小结
  2. 如何处理网络丢包故障?—Vecloud微云
  3. 网站互点排名掉了网站互点排名掉了网站互点_7天上百度首页排名优化技巧有哪些?...
  4. 汇编语言Makefile
  5. Angular 路由守卫
  6. mc服务器玩家无限掉线怎么办,服务器频繁掉线 求解
  7. 选择座位html,影厅座位预览效果(css3)_html/css_WEB-ITnose
  8. 以太坊2.0合约余额新增3872 ETH
  9. 史上最严重数据车祸:100+车厂机密全曝光,通用丰田特斯拉统统中招
  10. python生成图片链接_python如何将两张图片生成为全景图片
  11. Logback分别打印info日志和error日志
  12. (Linux系统)CentOS部署花生壳
  13. Tableau学习教程(万字保姆级教程)​​​​​​
  14. 小区报修管理系统c语言,小区物业报修管理系统的设计与实现.pdf
  15. SPC X-R控制图的操作步骤
  16. 50Projects--Blurry Loading
  17. 将CSS文件转换为标准格式
  18. 微服务框架-基础框架
  19. 手把手教你学51单片机-定时器与数码管
  20. 用docx4j生成word之后转成pdf

热门文章

  1. 计算机知识的更新速度,笔记本电脑硬盘如何升级?要容量还是速度?这些知识你需要学会...
  2. DSP调试报错:Error connecting to the target:Connect to PRSC failed
  3. FPGA开发要懂得使用硬件分析仪调试——ILA
  4. TDD与FDD技术对比
  5. CDMA核心技术专利人是谁?
  6. return 返回部分值
  7. chrome浏览器极简插件大全
  8. 利用Python实现推流直播详解
  9. python设计模式(三):原型模式—快速实例化类的一种途径
  10. 三层交换机工作原理(转载)