问题标签 [com]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
240 浏览

com - 显示加载的 COM 对象的路径/版本信息?

我有一些代码使用组件类别管理器来加载所有实现特定类别的类。

有没有一种简单的方法可以从加载的 DLL 或 EXE 中获取描述、路径和版本信息?

0 投票
2 回答
218 浏览

com - 只有在实现 COM 对象的 DLL 被签名时才创建 COM 对象?

我们有一些代码使用 LoadLibrary 和 GetProcAddress 来为我们的一个产品实现插件架构。我们确保即将加载的 DLL 使用我们的代码签名密钥进行签名。

我们正在更改插件架构以改用 COM。实例化 COM 对象时,有没有办法强制执行代码签名(最好使用我们的证书)?

0 投票
3 回答
3428 浏览

com - ActiveX / COM / VB6 企业项目的构建过程

我们使用微软的 ActiveX/COM (VB6) 技术开发了一个软件系统。去年,我对自动化构建过程和整个 SCM 越来越感兴趣。我在网上大量搜索了有关如何使用基于 COM 的软件系统进行 scm 的最佳实践的信息。

COM 的“问题”是,引用组件通过唯一的接口 id 保存引用。当您重新编译引用的组件时,id 可能会更改并且引用不再有效。这里的主要问题是,iid 被编译成二进制文件。因此,当我不想将编译后的文件签入版本控制时,每个开发人员都必须编译他/她自己的版本并获取其他 id。

当我想在干净的构建机器上检查源代码来编译系统时,这是不可能的,因为所有的引用都是无效的(没有二进制文件,没有接口 id)。

我只是想知道,如果有一些最佳实践,如何为 COM 项目(VB6)设置自动构建系统?

编辑: 是的,我知道兼容性设置。但是以这种情况为例,我想在没有任何二进制文件的干净构建机器上构建 wohle 系统。当您说项目兼容二进制时,您必须提供与该项目兼容的二进制文件。

我想我必须编写一个自定义构建工具,它在编译项目之前和之后修改项目文件中的引用和兼容性设置。

因为 VB6 / COM 是一种非常广泛的技术,我只是想必须有一个现成的解决方案。

我们通常使用二进制兼容性进行编译。当我们修改一个组件的公共接口时,我们以项目兼容性进行编译。但是当你改变一个被许多其他组件使用的基本组件的接口时,你必须手动将所有引用项目更改为项目兼容性,重新编译它们并改回二进制兼容性。这就是我想要自动化的主要过程。

0 投票
1 回答
981 浏览

windows - 需要 Excel SheetSelectionChange 事件示例

我正在尝试解决一个问题,涉及将 C++ 程序与 Excel 接口(特别是导入接口)。SheetSelectionChange 听起来它会让我大部分时间到达我需要的地方,但我找不到任何关于注册事件、在触发时使用其 Range 参数以及在完成时取消注册的好的文档或示例。我的代码目前不使用 COM 包装类;它发出 QueryInterface 调用以获取指向 Excel 中接口的指针。

0 投票
4 回答
1402 浏览

java - 在 Java 中操作 ActiveX 对象的最佳/最简单方法是什么?

我想用 ActiveX 打开和操作 Excel 文件。我在其他项目上使用 Python 的Win32 扩展和 Groovy 的Scriptom库取得了成功,但如果可能的话,这次需要做的是纯 Java。

我已经尝试过Jacob Java COM Bridge,但这似乎并不那么简单或易于使用,而且我无法用它来检索单元格值(即使这是 Scriptom 底层的库)。有替代品吗?

0 投票
2 回答
1391 浏览

asp.net - ASP.NET 会话和存储使用 COM 互操作的对象

我在一个asp.net 网站上工作。我们必须使用 com interop 与旧版 vb6 activex 组件进行交互。在许多情况下,组件依赖于接收一个上下文对象(它本身就是一个 vb6 activex 组件)作为参数。上下文对象的构建成本相当高。

因此,一个想法是一个上下文对象被构建一次并存储在 asp.net 会话中。但是,如果这个对象只是一个围绕 activex 组件的 .net 包装器,那么在会话中保留这样的对象是明智的还是可取的?

此外,上下文对象包含用户特定信息,因此可以使用 .net HttpRuntime 缓存进行持久化,但需要用户特定密钥。

我了解 asp.net session, aspnet-session question的其他限制和需要注意的事项。

以稍微不同的方式问这个问题:他们在存储一个只是 com 对象的包装器的 .net 对象方面是否存在任何问题或问题?

0 投票
1 回答
1090 浏览

delphi - 在 Outlook 中标记为已读的项目上的事件 - Delphi COM 插件

我有一个适用于 Outlook (2000-2007) 的 Delphi COM 加载项,并且正在尝试找到一种方法来在 Outlook 中的 MailItem 标记为已读时注册事件。我想在项目被标记为已读时/就在项目中添加一个附加属性。

有谁知道如何使用 Outlook 对象模型来做到这一点?我还使用 Add-In-Express 组件来帮助获取其他属性事件。

0 投票
4 回答
252 浏览

java - 哪些工具可用于在 Java 中创建进程内 COM 服务器?

哪些工具可用于在 Java 中创建进程内 COM 服务器?

0 投票
5 回答
380 浏览

com - 来自 x86 程序集的 COM?

是否可以通过 x86 汇编语言调用 COM 对象?如果是这样,怎么做?

我为什么要这样做?假设我有两个没有源代码的程序——我只有二进制文件。其中一个实现了 COM 接口,另一个没有。我想将代码注入第一个程序以使用此 COM 接口调用第二个程序,这需要我使用 x86 程序集。

0 投票
9 回答
108988 浏览

c# - C# - 如何以编程方式添加 Excel 工作表 - Office XP / 2003

我刚刚开始通过 C# 摆弄 Excel,以便能够自动创建和添加到 Excel 文件。

我可以打开文件并更新其数据并在现有工作表中移动。我的问题是如何添加新工作表?

我试过:

但是我低于COM Exception并且我的谷歌搜索没有给我任何答案。

HRESULT 的异常:0x800A03EC 源是:“Interop.Excel”

我希望有人能把我从痛苦中解救出来。