com相关内容

Windows 公共项对话框:ctypes + COM 访问冲突

我正在尝试使用 ctypes 模块来调用 Windows 的 公共项目对话框 API.下面显示的代码大致基于 MSDN 文档.它唯一的依赖项是 comtypes.GUID 模块. import ctypes从 ctypes 导入 byref、POINTER、c_int、c_long从 ctypes.wintypes 导入 HWND、HRESULT从 comtypes 导入 GUIDCLSID_F ..
发布时间:2021-11-26 20:09:01 Python

为什么 CoUninitialize 会导致退出时出错?

我正在使用 C++ 应用程序从 Excel 文件中读取一些数据.我已经让它工作了,但我对某一部分感到困惑.这是代码(简化为仅读取第一个单元格). //大部分复制自http://www.codeproject.com/KB/wtl/WTLExcel.aspx#import "c:\Program Files\Common Files\Microsoft Shared\OFFICE11\MSO.DL ..
发布时间:2021-11-26 20:05:34 C/C++开发

C# COM DLL:我使用 Regasm 还是 Regsvr32?

我正在构建一个 C# ActiveX DLL...我是使用 REGASM 还是 REGSVR32 来注册它? 如何注册 64 位接口与 32 位接口? 解决方案 您需要使用 regasm.exe 注册 32 位和 64 位接口我相信你需要运行每个 regasm.exe 在: C:\Windows\Microsoft.NET\Framework\v2.0.50727 和 C:\W ..
发布时间:2021-11-26 14:54:08 其他开发

类未注册错误

在 64 位计算机上从 Visual Studio 2012 运行应用程序,显示以下错误消息: 检索具有 CLSID {F2D4F4E5-EEA1-46FF-A83B-A270C92DAE4B} 的组件的 COM 类工厂由于以下错误而失败:80040154 类未注册(来自 HRESULT 的异常:0x80040154 (REGDBREA1-46FF-A83B-A270C92DAE4B)) ..
发布时间:2021-11-26 14:51:19 其他开发

从 64 位应用程序调用 32 位 DLL 的函数

我有一个 32 位 dll(无源代码),我需要从 64 位 C# 应用程序访问它.我已经阅读了 this 文章并查看了 此处.我也读过这个 帖子.我不确定我问的问题是否正确,所以请帮助我. 有 3 个项目:dotnetclient、x86Library 和 x86x64.x86x64 有 x86LibraryProxy.cpp,它加载 x86library.dll 并调用 GetTemper ..
发布时间:2021-11-26 14:48:31 C/C++开发

通过 COM 在 64 位进程中使用 32 位 DLL

所以前段时间我正在调查一个我知道很快就会出现的问题.我们有一个链接到某个库的 32 位版本的 DLL.我们没有这个库的 x64 版本,我们也没有替换它的实用选项. 当我进行这项初步调查时,我发现一两篇文章描述了一种方法,通过该方法,64 位进程可以通过 COM“服务器"利用 32 位 DLL (Windows).不幸的是,我丢失了我保存的链接,现在我已经搜索了一个多小时但没有运气. 这 ..
发布时间:2021-11-26 14:43:04 C/C++开发

使用 win32inet.WinHttpGetProxyForUrl 的正确方法是什么

我正在尝试使用 Microsoft WinHttp 库的一项功能,该功能已由 Win32com 的开发人员公开.不幸的是,该库的大部分内容似乎都没有记录,也没有通过 win32com 库使用 win32inet 功能的正确方法示例. 这是我目前所拥有的: 导入win32inet互联网 = win32inet.InternetOpen("foo 1.0", 0, "", "", 0)#没有用 ..
发布时间:2021-11-26 14:23:38 Python

在 Visual C# 2008 Express Edition 中设置 32 位 x86 构建目标?

我正在构建一个加载 32 位 COM dll 的 C# 应用程序.编译后的应用程序在 32 位 Windows 上运行良好,但在 64 位 Windows 上运行失败,因为它无法加载 32 位 COM.有没有办法在 VC# 2008 Express Edition 中设置 32 位构建目标? 或者,有没有办法强制编译到 AnyCPU 构建目标的 .NET 应用程序在 64 位 Windows ..
发布时间:2021-11-26 14:12:07 C#/.NET

在 MS Office 64 位下使用 32 位 COM 插件

我正在努力将现有的 32 位 COM 插件应用到 64 位 Microsoft Word 2010. 为了使插件对 Word 可见,我使用了 dllsurrogate 方法,正如它描述的那样 此处. 问题是现在插件在尝试将其工具栏和菜单添加到办公室时会导致一些奇怪的异常.我无法弄清楚命令栏引用在不可预测的时刻变得无效似乎是什么. 谁能解释一下? 请注意,当我在 32 位 M ..
发布时间:2021-11-26 14:09:26 其他开发

类未注册错误

在 64 位计算机上从 Visual Studio 2012 运行应用程序,显示以下错误消息: 检索具有 CLSID {F2D4F4E5-EEA1-46FF-A83B-A270C92DAE4B} 的组件的 COM 类工厂由于以下错误而失败:80040154 类未注册(来自 HRESULT 的异常:0x80040154 (REGDBREA1-46FF-A83B-A270C92DAE4B)) ..
发布时间:2021-11-26 14:04:42 其他开发

无法使用 COM 加载文件或程序集“Microsoft.Extensions.DependencyInjection.Abstractions"

[最近的笔记] 如果不是 com-visible 方面,这个问题将与 关于程序集绑定的这个问题.我已经挣扎了好几天,因为我没有意识到我需要改变我的单元测试项目以及 com 可见项目.如果你不想通读我意识到这一点的挣扎,请跳到最后一次更新. [前言] 我担心这可能是尝试通过 COM Visible Framework 4.7.2 库从 VB6 访问 dotnet 标准 2.0 库的 ..
发布时间:2021-11-26 13:01:10 其他开发

从 32 位应用程序通过 COM 调用 x64 程序集

简短的问题:是否有可能(当然在 x64 操作系统上)?如果不是,为什么? 我为 excel 32 开发了一个 c# 插件 dll. 在 x86 中编译时它工作正常. 在 x64 中编译时,COM 调用失败. 我需要 64 位版本的 excel 吗? 我认为 COM 与编译架构无关,并且使使用不同技术和不同架构开发的 dll 之间的通信成为可能,但我猜后者是错误的. ..
发布时间:2021-11-26 12:11:09 C#/.NET

SQL Server 中的 CLR 程序集 C#

那么,是否可以用 C# 制作一个大项目(很多功能), 为它创建 CLR 程序集,然后, 在 SQL Server IN A STORED PROC 中,调用程序集中的函数, 该表(我将传递给 ASSEMBLY)在其他存储过程中计算... 如果是,步骤是什么? 我在想这样的事情. -- 我有一个获取表的存储过程,让它成为 myStoredProcTable--FIST 启用数 ..
发布时间:2021-11-26 11:55:41 C#/.NET

如何抑制我无法更改的代码显示的对话框?

我有一个来自第 3 方的 Inproc COM 服务器.如果我调用的其中一个函数捕获特定类型的错误,它将显示一个错误消息对话框.问题是我正在尝试批量处理数据,而我正在使用的数据源导致该错误对话框弹出很多.如果它产生了 1000 个对话框,这不会是一个问题,但它会阻塞并且该函数在您按下 OK 之前不会返回. 如何禁止显示对话框,或以编程方式按“确定"? 这是调用堆栈的副本,​​因为它正在 ..
发布时间:2021-11-26 10:37:04 C#/.NET

来自 HRESULT 的异常:0x80029C4A(TYPE_E_CANTLOADLIBRARY)

我在 windows 2003 机器上创建 windows 服务,使用 dsofile 修改一堆文档的自定义属性.这工作正常,直到我在 win2k8 机器上安装该服务,它给我以下错误: 错误 [2010-09-06 13:17:12,317] 一个发生未知错误:System.InvalidCastException:无法类型转换 COM 对象'DSOFile.OleDocumentPrope ..
发布时间:2021-11-25 07:43:11 C#

从 64 位项目引用 x86 COM 包装器

我为我们从供应商那里获得的 x86 库创建了一个 x86“包装器".我一直在按照这篇文章中的步骤进行操作以及用于调用 COM 的几个链接 此处 和 此处. 我将该项目标记为“注册 COM 互操作".我能够使用 oleview 通过 COM 接口找到并将其标记为“使用代理进程".所以希望我在 DllSurrogate 注册表设置方面做得很好. 现在我似乎无法获得正确的引用来消耗 x86 ..
发布时间:2021-11-25 07:26:14 C#

展开操作期间遇到无效或未对齐的堆栈

我有一个 64 位程序,可与 VirtualBox COM 接口配合使用并为虚拟机实现前端.最近我开始变得奇怪在展开操作期间遇到无效或未对齐的堆栈异常,我想至少了解造成这种情况的原因.据我了解,堆栈需要对齐 16 字节,因此我认为未对齐的堆栈指针可能会导致这种情况.但问题是,由于我的程序所做的只是使用来自 ATL 的 STDMETHOD 宏来实现几个 COM 接口,这些宏应该使用正确的调用约定,那 ..
发布时间:2021-11-25 07:24:08 C#

我应该选择哪个 VC++ 运行时版本 - 静态还是动态?

我正在开发一个 64 位进程内 VC++ ATL COM 服务器,它基本上只是将所有调用重定向到一个进程外 COM 服务器.所以我的COM服务器基本上什么都不做. 最初它在 DLL 中使用 C++ 运行时(/MD 编译器开关).我注意到当我在干净的 64 位 Win2k3 regsvr32 上部署它时失败并显示错误:LoadLibrary({fileName}) failed – 由于应用程 ..
发布时间:2021-11-25 07:16:17 C#

COM 客户端/服务器跨 64/32 位进程

在 64 位机器上: 64 位应用程序能否调用在 32 位进程中运行的 COM 服务器(out proc)? 反之亦然呢?(32 位应用调用 64 位 COM 输出 proc 服务器) 谢谢! 解决方案 out-proc COM 的全部意义在于两个进程通过 RPC(通常是 LRPC)进行交互,所以每个进程的位数并不重要他们有. 我们使用 COM+ 代理来强制 32 ..
发布时间:2021-11-25 07:11:55 C#

64 位 COM(ActiveX) 服务器

我有在 32 位操作系统上构建和注册良好的 activex 服务器 exe.我想通过将项目升级到 Visual Studio 2010 并将平台更改为 X64 来制作该 exe 的 64 位版本,但这显然不起作用. 应用程序本身可以工作,但运行后我没有看到它注册 That.exe/RegServer 对于将 activex 从 32 迁移到 x64 的任何有用建议,我将不胜感激. ..
发布时间:2021-11-25 07:11:34 C#