Type Library

2023-10-27

Type Library:

A typelib stores information about a COM object: The classid, the interfaces that the object supports, the methods on those interfaces, and so on just about everything you'd find in an IDL file.

The COM system includes a set of COM objects that lets you programmatically walk through the contents of a typelib.

1) Type Library 生成?

     1. 在IDL文件中加入library项来描述相应的组件

     2. 用MIDL编译得到相应的tlb文件

     3. 通过resource script 文件将类型库嵌入组件。       component.rc   1 TYPELIB "component.tlb"

2) Type Library 注册

  • LoadTypeLibEx
  • RegisterTypeLib
  • UnRegisterTypeLib
  • QueryPathOfRegTypeLib

3) 通过Type Library来访问组件

#define _WIN32_DCOM
#import "component.dll" no_namespace
 
#include <iostream.h>
 
void main()
{
    CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
    ISumPtr myRef(__uuidof(InsideCOM));
    int result = myRef->Sum(5, 13);
    cout << "5 + 13 = " << result << endl;
    myRef = NULL;
    CoUninitialize();

}

COM Component 注册

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Type Library 的相关文章

  • 如何引用所有正在运行的 Excel 应用程序实例(包括隐藏的和没有工作簿的实例)的 COM 对象?

    如何获取每个正在运行的 Excel 应用程序实例的完整引用列表 无论其工作簿数量和可见性状态如何 我知道我可以使用 Windows API 来查找每个 Excel 工作簿窗口 其窗口类名称EXCEL7 让他们的句柄与AccessibleOb
  • C# 中的 IApplicationActivationManager::ActivateApplication?

    我正在致力于 Metro 应用程序的自动化测试 我发现代码可以完成我需要的很多工作 但它是用 C 编写的 http blogs msdn com b windowsappdev archive 2012 09 04 automating t
  • 如何使用 ClickOnce 安装 COM

    我已经安装了使用 TeeChart ActiveX COM 使用 ClickOnce 绘制图表的组件 如果我使用 regsvr32 teechart8 ocx 手动注册 TeeChart 我的 应用程序工作正常 但我想要并且需要使用安装应用
  • 服务器端生成的 Excel 中出现 System.Runtime.InteropServices.COMException 错误

    我们有一个 Web 应用程序 可以生成 Excel 电子表格并在服务器端运行宏 然后它通过电子邮件将它们发送给不同的人 它是传统报告风格的一部分 我们正在对其进行转换 但仍然支持我们作为 IIS 中的网站提供的新应用程序 我知道进行 Off
  • 为什么我不能在 Python 的新线程中创建 COM 对象?

    我正在尝试在 Python 的新线程中从 dll 创建 COM 对象 这样我就可以在该线程中运行消息泵 from comtypes client import CreateObject import threading class Mess
  • tlb 文件是否具有关联架构?

    我有一个 32 位 DLL 旨在通过 com 模型和关联的 tlb 文件进行访问 该 DLL 似乎是 x86 有没有办法从 x64 程序访问这种 DLL tlb 文件与 x86 x64 无关吗 我问这个问题是因为有些功能似乎可以工作 其他功
  • System.Windows.Automation 非常慢

    System Windows Automation 非常慢 我执行 element FindAll TreeScope Children Condition TrueCondition 在速度非常快的计算机上 仅获取 30 个子元素可能需要
  • 如何防止在 ActiveX 方法调用期间重新进入 WPF 事件处理程序?

    我们从 WPF 和 STA 应用程序中调用 ActiveX 组件上的方法 此调用是通过以下方式后期绑定执行的 res ocx GetType InvokeMember methodName flags null ocx args 其中 oc
  • 以编程方式确定是否安装了 COM 库 (.DLL)

    C 中是否有一种编程方式来确定是否已安装特定的 COM DLL 或者这是扫描注册表中的 classId 的问题 我通常所做的 如果我再次需要的话也会这样做 是尝试创建一个您知道位于 COM 库中的类的对象实例 通过 ProgID 或 GUI
  • C# 组件事件?

    我正在尝试编写一个将公开事件的 C 组件 该组件将由非托管 C 应用程序导入 根据一些教程 我想出了这段代码 针对 C 端 namespace COMTest ComVisible true Guid 02271CDF BDB9 4cfe
  • COM+ 应用程序死锁故障排除

    我正在尝试对间歇性死锁的 COM 应用程序进行故障排除 上次锁定时 我能够获取 dllhost 进程的用户模式转储并使用 WinDbg 对其进行分析 检查完所有线程和锁后 一切都归结为该线程拥有的关键部分 ChildEBP RetAddr
  • 传统DLL与COM DLL的区别

    我目前正在学习COM 我发现 COM DLL 是建立在传统 DLL 基础结构之上的 当我们构建COM DLL时 我们仍然依赖传统的DLL导出方法来引导我们到达内部的COM共同类 如果COM是为了在二进制级别重用组件 我认为传统的DLL也可以
  • *.tlb 文件在运行时使用过吗?

    我正在开发一个通过 COM 互操作公开一些 NET API 的产品 作为构建的一部分 我们为所有此类程序集生成 tlb 文件 并将它们作为单独 SDK 包的一部分提供 我们的客户可以在我们的产品之上安装 SDK 并创建使用我们的 COM A
  • VB.NET会自动生成ComClass属性和guid吗?

    我运行过一些 VB NET 代码 这些代码显式创建三个 GUID 常量并在类的 ComClass 属性中使用它们 我过去只是通过检查项目选项中的 使 COM 可见 和 注册 COM 互操作 选项来编写 COM 感知类 这个显式代码是否根本没
  • XE2 中的 COM 是否损坏?我该如何解决它?

    Update XE2 Update 2 修复了下述错误 下面的程序是从实际程序中截取的 在 XE2 中失败并出现异常 这是 2010 年的回归 我没有 XE 来测试 但我希望该程序在 XE 上运行良好 感谢 Primo 确认代码在 XE 上
  • 用 .NET 实现替换 C++ ActiveX 组件?

    我现有的托管和非托管软件使用第三方提供的 ActiveX 组件来执行某些通信 但现在需要通过我的应用程序路由此通信 理想情况下 我能够安装一个 NET 组件 该组件将公开完全相同的接口 并且可以用作直接替代品 然而 我对 COM 的理解已经
  • Windows Server 2008 x64 之上的 Excel 2007 自动化

    我很清楚 Microsoft 支持库文章指出不支持自动化办公产品 UI less 看起来Windows Server 2008 x64 和 Excel 2007执行给定的声明 我在 NT 服务 本地系统帐户 OnStart 方法中运行以下代
  • 使用 VS2012 中的 C++ 中的 ATL 创建 COM

    尝试在 Visual Studio 2012 中使用 ATL 创建简单的 COM 库 我愿意 New ATL Project Welcome to the ATL Project Wizard Next Application Settin
  • 是否有用于 Shell 扩展的单击处理程序

    经过之后MSDN 外壳扩展 http msdn microsoft com en us library ff468984 v VS 85 aspx我不太确定是否可以扩展 Shell Click 或资源管理器的 Click Event 的行为
  • Pythoncom - 将相同的 COM 对象传递给多个线程

    你好 对于 COM 对象 我是一个完全的初学者 非常感谢任何帮助 我正在开发一个Python程序 该程序应该以客户端 服务器的方式读取传入的MS Word文档 即客户端发送一个请求 一个或多个MS Word文档 服务器使用pythoncom

随机推荐

  • tensorflow命令行参数之boolean使用的说明(踩坑指南)

    问题描述 简而言之就是 参数输出值与命令行输入值不一致 比如我们有个main py 具体代码如下 import tensorflow as tf tf app flags DEFINE boolean if gpu True if use
  • HTML网页链接

    1 链接的基本认识 所谓链接 是指一个页面之向一个目标的链接关系 链接地址不仅仅是一个页面地址 也可能是一个文件地址或者邮箱地址 文本链接 图像链接 邮箱地址的写法 a href 2 同一页面中快速查找消息 通过设置a标签中src内容的 来
  • Flutter Timer 定时器

    Flutter Timer 定时器 引包 Timer 类存在于dart async内 所以我们需要先导入 import dart async 使用场景 1 回调只需要一次 2 回调多次 例 回调一次 Duration timeout Dur
  • 玩转Matplotlib绘制柱形图

    使用Python Matplotlib模块中的bar 函数绘制柱形图 可视化直观地对比数据 代码如下 import pandas as pd import numpy as np import matplotlib pyplot as pl
  • **开启我的51单片机学习之路,基于51单片机数码管显示电子时钟**

    1 此款电子时钟 时间可以设置 有4个按键 一个功能按键 一个加 一个减 一个确定按键 2 按下功能按键一下 时钟走时停止 时两位数码管闪烁 代表此时再调时状态 这个时候加减按键就可以调整时钟 再次按下功能按键 就可以调整分钟 再按一下功能
  • Linux 音视频开发杂记之三-wayland环境搭建

    一 环境安装与运行测试程序 安装测试程序 Weston是Wayland提供的示例程序 sudo apt install weston 运行Weston 如果设置了 DISPLAY 那么Weston将在一个窗口中的X下运行 并从X中获取输入
  • 关于opencv更改摄像头参数(帧率,分辨率,曝光度……)的几个问题

    1 适用于VideoCapture打开的摄像头 VideoCapture capture 0 设置摄像头参数 不要随意修改 capture set CV CAP PROP FRAME WIDTH 1080 宽度 capture set CV
  • Basic Object-oriented Programming___CH_13

    13 1 Welcome to object oriented programming Object oriented programming OOP provides us with the ability to create objec
  • vue简单实现点击加1功能

    实现点击按钮输入框里 1 这里选择自己的vue地址 div div
  • Python爬虫入门教程:爬取csdn文章保存成PDF

    本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 如有问题请及时联系我们以作处理 基本开发环境 Python 3 6 Pycharm wkhtmltopdf 相关模块的使用 pdfkit requests parsel 安
  • 如何查看服务器内存及cpu信息,查看服务器当前内存cpu信息

    查看服务器当前内存cpu信息 内容精选 换一换 设备实时状态查询是检测设备在运行过程中的状态信息 用户可任选以下指令之一查看设备实时状态查询命令的可用参数 ascend dmi i hascend dmi i help各参数解释如表1所示
  • Mask-RCNN中的损失函数

    对每个ROI来说 多任务损失函数如下 mask分支对于每个RoI有Km2 维度的输出 K个 类别数 分辨率为m m的二值mask 因此作者利用了a per pixel sigmoid 并且定义 Lmask 为平均二值交叉熵损失 the av
  • ORA-12638: 身份证明检索失败 的解决办法

    the NTS option makes the Oracle client attempt to use your current Windows domain credentials to authenticate you with t
  • 水星路由器设置成交换机

    修改LAN口就可以
  • 两个esp8266透传用法

    电赛校赛在5月末结束 写一下这残酷的心路历程 得了校一哈哈哈 应该的应该的 毕竟花的钱比别的组少 先讲一下小车通信模块WiFi 老师说我们小题大做了 可是学通信用蓝牙太屈才啦 找遍全网都是这样连 这是错的 困扰了我们好久 差点退货 RST跟
  • python中的模块和包

    文章目录 Python中的模块 模块的具体使用 Python中的包 Python中的模块 模块 module 模块化 模块化指将一个完整的程序分解为一个一个小的模块 通过将模块组合 来搭建出一个完整的程序 不采用模块化 统一将所有的代码编写
  • java 纯面向对象_为什么Java不是纯面向对象的编程语言?

    1 首先我们将了解什么是面向对象的语言 当我们谈论所有关于对象的事物时 即 基于对象的数据表示 基于对象的方法表示 2 Java不是纯面向对象的 这意味着我们可以用或不用对象来表示数据 即 不用对象就可以表示很少的数据意味着不需要对象 情况
  • QT常用界面设计组件----SpinBox

    控件简介 SpinBox用于整数的显示与输入 一般显示为十进制 也可以显示二进制和十六进制的数 而且可以在显示框增加前缀和后缀 QDoubleSpinBox用于浮点数的显示和输入 可以设置显示小数位数 也可以设置显示的前缀和后缀 它们都是Q
  • linux-修改主机名的正确方式

    序 面对大量服务器 我们希望每一台服务器都有自己的名字 这样便于使用和管理 修改主机名 就是修改下图中这个位置的名字 修改主机名的方法主要有临时生效和永久生效两种 1 临时生效 所谓临时生效 就是在服务器不重启的情况下 临时改变主机名 通过
  • Type Library

    Type Library A typelib stores information about a COM object The classid the interfaces that the object supports the met