vs2010集成标准com组件(代码片段)

cnblogs_z_s cnblogs_z_s     2022-10-25     792

关键词:

#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[0]=0Xae;  
            CLSID_DSignCtrl.Data4[1]=0X8c;  
            CLSID_DSignCtrl.Data4[2]=0Xcb;  
            CLSID_DSignCtrl.Data4[3]=0X78;  
            CLSID_DSignCtrl.Data4[4]=0Xd9;  
            CLSID_DSignCtrl.Data4[5]=0X80;  
            CLSID_DSignCtrl.Data4[6]=0X92;  
            CLSID_DSignCtrl.Data4[7]=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-mfc(mfc常用类:mfc异常处理)(代码片段)

...节鸡啄米:C++编程入门系列之五十(异常处理)中讲了C++标准异常的处理机制,如果你还没有学过这方面内容,可以到那节教程中去学习下。MFC异常处理与C++标准异常处理是类似的,只是它在抛出和捕 查看详情

visualstudioide-返回上一个(代码片段)

...品做到这一点?答案Ctrl+-应该做的技巧是NavigateBackwards的标准键盘快捷键。或使用标准工具栏中的导航按钮。这在https://blogs.msdn.microsoft.com/zainnab/2010/03/01/navigate-backward-an 查看详情

atl(com)开发下--vs2010

前面一章介绍了怎么创建ATLCOM组件及注册,下面简单介绍如何调用COM组件。 1、在MFC中调用有一种很方便的方法,就是通过ClassWizard利用类型库生成包装类,不过有个前提就是com组件的接口必须是派生自IDispatch。具体方法:(... 查看详情

对 COM 组件 vs2010 到 2019 的调用已返回错误 HRESULT E_FAIL

】对COM组件vs2010到2019的调用已返回错误HRESULTE_FAIL【英文标题】:ErrorHRESULTE_FAILhasbeenreturnedfromacalltoaCOMcomponentvs2010to2019【发布时间】:2021-08-1817:03:33【问题描述】:我有一个c#项目。我在VisualStudio2010上编写,但现在我应该从VisualS... 查看详情

springboot项目各组件集成(代码片段)

swagger-bootstrap-ui https://blog.csdn.net/u010192145/article/details/79216037springboot多数据源项目demoConfigurationProperties+tkmapper+druidhttps://www.cnblogs.com/nightOfStreet/p/11543768.htmlvim复制+ 查看详情

将 vs 2012 C# 与 visio 2007 集成时出现 Com 错误

】将vs2012C#与visio2007集成时出现Com错误【英文标题】:ComErrorwhileintegratingvs2012C#withvisio2007【发布时间】:2013-08-2010:25:00【问题描述】:我正在尝试将Visio2007与C#(VS2012和windows7操作系统)集成,但在运行代码时出现错误无法将“Mic... 查看详情

c#-winform调用com组件(com组件由qt开发)(代码片段)

...C#这边作为主框架,Qt负责编写插件,将功能模块通过COM组件的形式封装注册,再由C#调用、交互完成最终的项目。程序开发环境:win1064位编译器:VS2017Qt版本:Qt5.12.6二、Qt封装COM组件2.1环境介绍为了方便演示整体流程,我这里先利... 查看详情

com笔记-类厂(代码片段)

...的。类厂组件的唯一功能就创建其他的组件。创建组件的标准接口是IClassFactory,用CoCreateInstnce创建的组件实际上是通过IClassFactory创建的。类厂只是创建其它组件的一个简单组件。为了创建同某个CLSID相应的类厂,需要一个与CoCre... 查看详情

vs2010+opencv3.4.1+zbar64位(代码片段)

1.OpenCV3.4.1和zbar文件夹放到指定的路径下,我把它们放在了”D:\二维码\环境“中。zbar:链接:https://pan.baidu.com/s/11eCDVHVA_R7ktQaX_l6gww密码:ubzjOpenCV3.4.1:链接:https://pan.baidu.com/s/1OVbLeG6qJ9aNqdF4UnFFLg密码:460q2.环境变量配置:右键... 查看详情

持续集成(代码片段)

持续集成是什么?转载自:https://kb.cnblogs.com/page/529677/  互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuousintegration,简称CI)。  本文简要介绍持续集成的概念和做法。  一... 查看详情

ucos-ii模拟(vs2010&win32)(代码片段)

转自http://www.amobbs.com/thread-5462878-1-1.html自学uCOS-II源码,在论坛上上看到大神在WIN7VisualStudio2010环境下调试uCOS-II2.91。故转载过来跟着调试学习。1.下载uCOS-II2.91官方下载地址:http://micrium.com/page/downloads/source_code方 查看详情

vs2010c#添加dll文件引用失败

...ctGrb.dll,请确保文件可访问并且是一个有效的程序集或COM组件”请大虾帮帮忙~~~参考技术AXdictGrb.dll不是有效的.Net程序集,它是COM组件或者是ActiveX,你要引用COM组就行了。在ToolBox内添加进来。 查看详情

vs2010-mfc(文档视图和框架:概述)(代码片段)

 转自:http://www.jizhuomi.com/software/221.html  前面几节讲了菜单、工具栏和状态栏的使用,本节开始将为大家讲解文档、视图和框架的知识。        文档、视图和框架简介    &nbs... 查看详情

vs2010-mfc(常用控件:图片控件picturecontrol)(代码片段)

 转自:http://www.jizhuomi.com/software/193.html 本节主要讲一种简单实用的控件,图片控件PictureControl。我们可以在界面某个位置放入图片控件,显示图片以美化界面。        图片控件简介  &n... 查看详情

如何编译luabind支持vs2010之后所有版本(代码片段)

步骤下载https://github.com/luabind/luabind/tree/0.9。其最后一次commit为Revision:8c66030818f0eacbb7356c16776539b55d8c5319Author:PeterColberg<[email protected]>Date:12/24/20111:53:29AMMessage:Lua5.2:usenewmacrolua_pushglobaltableThismacroisnotmentionedintheLua5.2manual.----Modifi... 查看详情

vs2010代码片段(代码片段)

代码模板就是预先定义好的一个代码片段。VS中,我们只要输入模板的名称,然后连按两下TAB,VS就可以给我们把代码片段补充完整。1.内置代码片段关键字生成forfor(inti=0;i<length;i++)foreachforeach(varitemincollection)dodo…whileloopwhil... 查看详情

组件 vs 集成 vs 功能测试

】组件vs集成vs功能测试【英文标题】:ComponentvsIntegrationvsFunctionaltests【发布时间】:2016-05-1600:38:54【问题描述】:最近我发现我对不同类型测试的理解可能并不完全正确。例如单元测试是测试一个单元,其中与其他单元的交互... 查看详情

c#-winform调用com组件(com组件由qt开发)(代码片段)

...C#这边作为主框架,Qt负责编写插件,将功能模块通过COM组件的形式封装注册,再由C#调用、交互完成最终的项目。程序开发环境:win1064位编译器:VS2017Qt版本:Qt5.12.6二、Qt封装COM组件2.1环境介绍为了方便演示整体流程,我这里先利... 查看详情