#include <Windows.h>
#include <stdio.h> // import后,会提示找不到对应的SignCtrl.tlh文件,只需要对项目重新编译一下,在项目的Debug目录下,就会有SignCtrl.tlh文件
#import "C:/Users/Administrator/Desktop/jzbank/CallComSln/CallCom/CallCom/SignCtrl.ocx" no_namespace extern "C"
{
typedef HRESULT (__stdcall *pFunc)(REFCLSID rclsid,REFIID riid,LPVOID * ppv);
} void main(){ //谨记谨记,必须先调用 CoInitialize(NULL);
if (!SUCCEEDED(CoInitialize(NULL)))
{
return;
} HINSTANCE hdllInst = LoadLibrary("SignCtrl.ocx"); pFunc func=(pFunc)GetProcAddress(hdllInst,"DllGetClassObject"); if (func != NULL)
{ CLSID CLSID_SignCtrl_ocx;
HRESULT hr = CLSIDFromString(L"{7CDD83B9-75FA-4C7A-89A6-1ABC55126D57}", &CLSID_SignCtrl_ocx);
if (!SUCCEEDED(hr))
{
return;
} IClassFactory* pcf = NULL;
hr = func(CLSID_SignCtrl_ocx, IID_IClassFactory,(void**)&pcf); if (SUCCEEDED(hr) && (pcf != NULL))
{
// 创建 IID
IID CLSID_DSignCtrl; //_DSignCtrl的标识{05c0ba8b-20f1-40ee-ae8c-cb78d9809203} 在tlh文件里
CLSID_DSignCtrl.Data1=0x05c0ba8b;
CLSID_DSignCtrl.Data2=0X20f1;
CLSID_DSignCtrl.Data3=0X40ee; CLSID_DSignCtrl.Data4[]=0Xae;
CLSID_DSignCtrl.Data4[]=0X8c;
CLSID_DSignCtrl.Data4[]=0Xcb;
CLSID_DSignCtrl.Data4[]=0X78;
CLSID_DSignCtrl.Data4[]=0Xd9;
CLSID_DSignCtrl.Data4[]=0X80;
CLSID_DSignCtrl.Data4[]=0X92;
CLSID_DSignCtrl.Data4[]=0X03; // SignCtrl.ocx向外暴露的
_DSignCtrl* pCall = NULL; // 拿到实例
hr = pcf->CreateInstance(NULL, CLSID_DSignCtrl, (void**)&pCall); if (SUCCEEDED(hr) && (pCall != NULL))
{
pCall->AboutBox();
} pcf->Release(); } else{
printf("false"); }
} FreeLibrary(hdllInst); // 谨记谨记, 调用 CoInitialize(NULL);后要销毁
CoUninitialize(); getchar();
}

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. windows服务器nginx+php启动开源ecshop

    1,下载php,nginx,ECShop源码 2,解压php到指定目录(如:C:\php-7.2.6) 2.1,找到指定目录下文件php.ini-development复制重命名为php.ini 2. ...

  2. 作业二:分布式版本控制系统Git的安装与使用

    作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 1.下载安装配置用户名和邮箱. (1)下载安装Github配置 ...

  3. python之collection模块

    collections模块 一.总览 在内置数据类型(int.float.complex.dict.list.set.tuple)的基础上, collections模块还提供了几个额外的数据类型:Co ...

  4. 5.15 pymysql 模块

    pymysql 模块 安装 pip3 install pymysql 链接,执行sql,关闭(游标) import pymysql user= input('用户名:>>').strip( ...

  5. ovs-qos配置

    QoS配置 在许多网络场景中,都需要根据需求对网络流量部署服务质量(QoS)保障策略,比如限制指定主机的最大接入带宽等需求.本节将介绍如何在OVS上添加队列,并完成数据的入队操作,从而完成QoS策略部 ...

  6. log4j 初体验

    1.Log4j简介      在应用程序中添加日志记录目的基于三个: 监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作 跟踪代码运行时轨迹,作为日后审计的依据 担当集成开发环境 ...

  7. Swagger - ui 学习

    今天同组的打伙伴给介绍了 Swagger-ui 这个 自动生成 接口文档的 工具,感觉比较方便好用, 遂决定 学习一下, 开个随笔进行随时记录,同时也是提醒自己 先保存两篇感觉还不错的文章 : htt ...

  8. lcd驱动框架

    目录 lcd驱动框架 框图 程序分析 入口 打开open 读read 初始化registered_fb 注册 小结 程序设计 测试 方式一操作fb0 方式二操作tty 方式三操作终端 完整程序 tit ...

  9. 第七节:Trigger(SimpleTrigger、CronTrigger)哑火(MisFire)策略 :

    一. 简介 1. 什么是哑火 由于某些原因导致触发器(trigger)在该触发的时候没有得到触发,后续对应的解决策略即为哑火策略.(个人理解) 2. 哑火触发的条件 ①:所有的工作线程都在忙碌,导致某 ...

  10. django - 总结 - admin

    admin组件,一旦我们注册了表以后,会自动生成很多url,那他是如何添加的呢, 因为admin在启动后会自动执行每个app下的ready方法: 具体是由 from django.utils.modu ...