VS2010 集成标准com组件
#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(); }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 提示词工程师自白:我如何用一个技巧解放自己的生产力
· 一文搞懂MCP协议与Function Call的区别
· 如何不购买域名在云服务器上搭建HTTPS服务