调用DllRegisterServer方法进行COM组件的注册

一个替代“regsvr32.exe"COM组件注册工具的方法是手动调用COM模块中的DllRegisterServer.
步骤如下
1. 定义DllRegisterServer的函数指针类型
2. 调用LoadLibrary()加载COM模块
3. 调用GetProcAddress()获得DllRegisterServer的地址
4. 调用OleInitialize()初始化COM库
5. 使用之前得到的地址调用DllRegisterServer
6. 执行必要的清理工作: 清理COM库,卸载DLL

经过测试的代码实例

typedef HRESULT (WINAPI *FREG)();// @strPathName[in]: COM组件的路径和文件名
BOOL Register(const CString& strPathName)
{HMODULE hMod =::LoadLibrary(strPathName);if(!hMod)return FALSE;// 这一步是必须的,我在网上查到的例子没有提到,// 耽误很多时间HRESULT hResult = ::OleInitialize(NULL);if(hResult != S_OK){::FreeLibrary(hMod);return FALSE;}FREG lpfunc = (FREG)::GetProcAddress(hMod,   _T("DllRegisterServer"));if(!lpfunc){::FreeLibrary(hMod);::OleUninitialize();return FALSE;}hResult = lpfunc();::OleUninitialize();::FreeLibrary(hMod);  return (hResult == S_OK);
}

对DllUnregisterServer的调用类同,一定要初始化COM库再调用。

调用DllRegisterServer进行COM组件的注册相关推荐

  1. 子组件调用父组件方法_Vuejs组件(一)组件的注册使用方法

    点击上方"蓝字",发现更多精彩.前言 又到了愉快的周末,今天下了一天的雨了,我又日常宅宿舍打游戏.刷剧.听音乐写写代码. 前面的基础语法记录完了,接下记录的Vue的组件 01认识组 ...

  2. 免注册调用大漠插件,COM组件免注册调用

    这是调用大漠插件的一个例子.实现com组件不注册调用 using System; using System.Collections.Generic; using System.Linq; using ...

  3. ActiveX组件及其注册 (轉)

    來自 http://blog.donews.com/ylma/archive/2006/04/03/809179.aspx 二.ActiveX组件的概念 在我们平常的阅读和编程学习中,我们经常可以看到 ...

  4. ActiveX组件及其注册

    一.概述 在接下来的部分,首先将就ActiveX组件的概念以及它的分类进行简要的介绍,从而让读者对ActiveX组件有一个概念上的把握. 随后,将就如何注册ActiveX组件的问题进行比较深入详细的解 ...

  5. vue组件一直注册不了_Vue注册组件命名时不能用大写的原因浅析

    这段时间一直在弄vue,当然也遇到很多问题,这里就来跟大家分享一些注册自定义模板组件的心得. 首先"VUE注册组件命名时不能用大写"其实这句话是不对的,但我们很多人开始都觉得是对的 ...

  6. Yii2中关于组件的注册以及创建的方法详解

    2019独角兽企业重金招聘Python工程师标准>>> 了解yii组件注册与创建的过程,并发现原来yii组件注册之后并不是马上就去创建的,而是待到实际需要使用某个组件的时候再去创建对 ...

  7. 三、Vue组件化开发学习笔记——组件化的基本步骤、全局组件和局部组件、父组件和子组件、注册组件的语法糖、模板分离写法、组件的数据存放

    一.什么是组件化? 人面对复杂问题的处理方式: 任何一个人处理信息的逻辑能力都是有限的 所以,当面对一个非常复杂的问题时,我们不太可能一次性搞定一大堆的内容. 但是,我们人有一种天生的能力,就是将问题 ...

  8. Labview调用EXE形式COM组件

    需求 接口封装在exe文件中,以 COM 组件方式为其他需要访问该接口的程序提供服务,我们要做的就是调用这个接口中的方法 分析 首先我们需要知道什么是COM组件: 参考资料: 360百科 - COM组 ...

  9. 2:Alibaba微服务组件Nacos注册中心

    Spring Cloud Alibaba系列目录 提示:这里是第二章:Alibaba微服务组件Nacos注册中心 微服务和Spring Cloud Alibaba介绍 Alibaba微服务组件Naco ...

  10. 64位系统VBS调用32位COM组件

    64位系统VBS调用32位COM组件 标签: 32位, 64位, COM, COM组件, VB, VBS, VBScript 标题: 64位系统VBS调用32位COM组件 作者: Demon 链接:  ...

最新文章

  1. colpick-jQuery颜色选择器使用说明
  2. 367. 有效的完全平方数
  3. 别让6种不良心理偷走你的好人缘
  4. 一寸照纯红色底图片_高大上的图片精修,其实只需要学会这7个方面!
  5. Jira Bamboo中创建Windows Remote Agent的注意事项
  6. 关于tomcat 中的 tomcat-users.xml 配置不生效原因
  7. 基于阿里云实现简单的语音识别功能
  8. android怎么阿看手机是移动联通还是电信的网络,GSM是联通、移动还是电信的网络?...
  9. 用Asp.Net c#写的采集小例子
  10. DIV+CSS样式表命名的规则方法
  11. linux 繁体转简体,Linux下在程序中如何进行繁体中文和简体中文的转换
  12. 怎么无痕去除图片中的文字
  13. 详谈AI芯片架构、分类和关键技术
  14. 2-软件生命周期模型
  15. 第4-8课:方块消除游戏
  16. Linux环境创建oracle数据库
  17. 卖油条年入三十万,大学还有必要去上吗?
  18. 详解GAN代码之搭建并详解CGAN代码
  19. web漏洞--注入漏洞
  20. POJ 3422 Kaka's Matrix Travels | 费用流

热门文章

  1. iOS开发之第三方支付-银联支付
  2. xshell安装激活教程
  3. html选择日期选择器
  4. H5打开APP技术总结
  5. SMA、SMB、SMC封装的二极管尺寸区分
  6. 7号信令基本概念和术语
  7. 汽车HUD抬头显示全产业链深度解析报告
  8. 【电脑主板维修】主板故障检测要领
  9. 51单片机之串口通信详解及代码示例
  10. 【0.96OLED屏幕】原理图及SSD1306引脚功能