1. #include <Windows.h>
  2. #include <stdio.h>
  3.  
  4. // import后,会提示找不到对应的SignCtrl.tlh文件,只需要对项目重新编译一下,在项目的Debug目录下,就会有SignCtrl.tlh文件
  5. #import "C:/Users/Administrator/Desktop/jzbank/CallComSln/CallCom/CallCom/SignCtrl.ocx" no_namespace
  6.  
  7. extern "C"
  8. {
  9. typedef HRESULT (__stdcall *pFunc)(REFCLSID rclsid,REFIID riid,LPVOID * ppv);
  10. }
  11.  
  12. void main(){
  13.  
  14. //谨记谨记,必须先调用 CoInitialize(NULL);
  15. if (!SUCCEEDED(CoInitialize(NULL)))
  16. {
  17. return;
  18. }
  19.  
  20. HINSTANCE hdllInst = LoadLibrary("SignCtrl.ocx");
  21.  
  22. pFunc func=(pFunc)GetProcAddress(hdllInst,"DllGetClassObject");
  23.  
  24. if (func != NULL)
  25. {
  26.  
  27. CLSID CLSID_SignCtrl_ocx;
  28. HRESULT hr = CLSIDFromString(L"{7CDD83B9-75FA-4C7A-89A6-1ABC55126D57}", &CLSID_SignCtrl_ocx);
  29. if (!SUCCEEDED(hr))
  30. {
  31. return;
  32. }
  33.  
  34. IClassFactory* pcf = NULL;
  35. hr = func(CLSID_SignCtrl_ocx, IID_IClassFactory,(void**)&pcf);
  36.  
  37. if (SUCCEEDED(hr) && (pcf != NULL))
  38. {
  39. // 创建 IID
  40. IID CLSID_DSignCtrl;
  41.  
  42. //_DSignCtrl的标识{05c0ba8b-20f1-40ee-ae8c-cb78d9809203} 在tlh文件里
  43. CLSID_DSignCtrl.Data1=0x05c0ba8b;
  44. CLSID_DSignCtrl.Data2=0X20f1;
  45. CLSID_DSignCtrl.Data3=0X40ee;
  46.  
  47. CLSID_DSignCtrl.Data4[]=0Xae;
  48. CLSID_DSignCtrl.Data4[]=0X8c;
  49. CLSID_DSignCtrl.Data4[]=0Xcb;
  50. CLSID_DSignCtrl.Data4[]=0X78;
  51. CLSID_DSignCtrl.Data4[]=0Xd9;
  52. CLSID_DSignCtrl.Data4[]=0X80;
  53. CLSID_DSignCtrl.Data4[]=0X92;
  54. CLSID_DSignCtrl.Data4[]=0X03;
  55.  
  56. // SignCtrl.ocx向外暴露的
  57. _DSignCtrl* pCall = NULL;
  58.  
  59. // 拿到实例
  60. hr = pcf->CreateInstance(NULL, CLSID_DSignCtrl, (void**)&pCall);
  61.  
  62. if (SUCCEEDED(hr) && (pCall != NULL))
  63. {
  64. pCall->AboutBox();
  65. }
  66.  
  67. pcf->Release();
  68.  
  69. } else{
  70. printf("false");
  71.  
  72. }
  73. }
  74.  
  75. FreeLibrary(hdllInst);
  76.  
  77. // 谨记谨记, 调用 CoInitialize(NULL);后要销毁
  78. CoUninitialize();
  79.  
  80. getchar();
  81. }

VS2010 集成标准com组件的更多相关文章

  1. CC++初学者编程教程(3) 安装VS2010 boost标准库开发环境

    1.      BOOST编译过程非常复杂,目前为了学习BOOST,首先搭建基于VS2010的BOOST开发环境. Boost库 8 9. 10. 11 12 13 14 15. 16. 17. 18 ...

  2. VS2010 C++ 创建COM组件

    1.项目中要使用到com组件,于是了解了一下com,并根据<C#高级编程>中关于com的介绍用vs创建了一下com,用于实验.以下均根据书中的demo做一遍,熟悉一下而已. 2.创建CoM ...

  3. iNeuOS工业互联平台,WEB组态(iNeuView)集成图报组件,满足实时数据图形化展示的需求

    目       录 1.      概述... 1 2.      平台演示... 2 3.      应用过程... 3 4.      实时数据展示效果... 5 1.   概述 市场和开源社区有 ...

  4. RN集成echarts4图表组件react-native-secharts(转载)

    一个webview封装的图表组件.基于百度echarts4,相比native-echarts有echarts自带对象支持,例如渐变色等,用法与官网相同用法. echarts version 4.2.0 ...

  5. git与eclipse集成之导入组件到Eclipse工程

    从工作目录中选择要导入的组件,右键选择:Import Projects,弹出窗口如下图所示,选择Import as general project 点击next,修改或使用默认的组件名称 点击fini ...

  6. .Net 中两分钟集成敏感词组件

    现如今大部分服务都会有用户输入,为了服务的正常运行,很多时候不得不针对输入进行敏感词的检测.替换.如果人工做这样的工作,不仅效率低,成本也高.所以,先让代码去处理输入,成为了经济方便的途径.水弟在这里 ...

  7. 基于IEC61499标准的组件

    IEC 61499标准通常用于开发分布式控制系统.IEC 61499定义了功能模块(FB, function block)的模型.有三种FB,分别是Basic FB (BFB),Service Int ...

  8. vs2010集成git指南

    1.安装 Git Extensions  下载地址:http://gotgit.github.com/gotgithub/10-appendix/030-install-on-windows-cygw ...

  9. 2015.5.21 VS2010中引用Word组件后提示 类型“Microsoft.Office.Interop.Word.ApplicationClass”未定义构造函数 解决方法

    wordApp = new Word.ApplicationClass();//这句在VS2005中没问题,在2010中会报错. 解决方法:在资源管理器 “引用”项的"Microsoft.O ...

随机推荐

  1. idea的一些好用的第三方插件

    用了Idea真的回不去Eclipse了,安利一波. 这里记录一些好用的插件. GenerateAllSetter 这个插件是用在写代码的时候调用Setter的时候能一次性把实体类中的所有Setter方 ...

  2. AI佳作解读系列(一)——深度学习模型训练痛点及解决方法

    1 模型训练基本步骤 进入了AI领域,学习了手写字识别等几个demo后,就会发现深度学习模型训练是十分关键和有挑战性的.选定了网络结构后,深度学习训练过程基本大同小异,一般分为如下几个步骤 定义算法公 ...

  3. zabbix异常信息修改已确认,为未确认

    问题知悉只能知悉一次知悉了之后就不能再次知悉了,但又不想再创建新的异常怎么办呢.....直接改数据库数据.首先找到acknowledges表这里边存放的全是已经知悉的异常然后找events表,even ...

  4. layui 的学习

    1. meta标签 https://www.cnblogs.com/wangyang108/p/5995379.html <meta name="viewport" cont ...

  5. sql sever基本命令

    创建表: create table stu_info( id ,) not null primary key clustered, name ) not null, score numeric not ...

  6. JAVA多线程-内存模型、三大特性、线程池

    一.线程的三大特性 原子性.可见性.有序性 1)原子性,即一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行.原子性其实就是保证数据一致.线程安全一部分. 2)可见性,即 ...

  7. Python的数据库操作

    使用原生SQL语句进行对数据库操作,可完成数据库表的建立和删除,及数据表内容的增删改查操作等.其可操作性很强,如可以直接使用“show databases”.“show tables”等语句进行表格之 ...

  8. Scrapy 框架,爬虫文件相关

    Spiders 介绍 由一系列定义了一个网址或一组网址类如何被爬取的类组成 具体包括如何执行爬取任务并且如何从页面中提取结构化的数据. 简单来说就是帮助你爬取数据的地方 内部行为 #1.生成初始的Re ...

  9. Windows 7 下安装 docker 应用容器引擎

    文档地址 ====================================== 安装篇 下载工具 https://get.daocloud.io/toolbox/ 下载完成点击安装 (可参考: ...

  10. Mac 终端美化方法

    美化终端,主要是主题,字体,命令行提示3个方面. 主题 使用的主题是Solarized Dark主题. 安装主题: git clone git://github.com/altercation/sol ...