“COM”标签的文章
带有“COM”标签的文章共 22 篇,按发布日期从新到旧排列。
-
WinRT 就是 COM —— IInspectable、.winmd、语言投影,以及 WinUI 至今仍立在二进制契约之上的原因
WinRT 不是托管运行时,而是在 COM 之上加了元数据(.winmd)与语言投影的 ABI。本文从 IUnknown 与 IInspectable 的关系,一直讲到桌面应用里 HWND 初始化与 package identity 的卡点。
-
什么是 OLE 对象 —— 嵌入与链接的机制以及业务文档中的陷阱
在 Word 中嵌入 Excel 表格的功能,本质就是 OLE 对象。本文从嵌入与链接的区别、复合文件与结构化存储、In-Place Activation 的机制,一直讲到链接断开、文件膨胀与安全对策,全部立足于实务视角。
-
剪贴板与拖放的工作原理——在业务应用中正确处理 OLE 数据传输
粘贴 Excel 表格会散架、关掉复制源就贴不上,根源都是剪贴板把同一内容放成多种格式的机制。本文讲解标准格式、延迟渲染、OLE 拖放,直到剪贴板历史与云同步的策略。
-
今天的 Windows 外壳集成——右键菜单、文件关联与 Windows 11 的变化
解读 Windows 11 中右键菜单被藏进“显示更多选项”的原因,并梳理扩展名→ProgID→verb 的关联基础、传统外壳扩展的注意事项,以及 IExplorerCommand 与 MSIX/sparse package 这套新方式。
-
从 PowerShell 调用 COM 与 .NET 的实践 ── 一举拓宽脚本触达的范围
本文从实务角度讲解从 PowerShell 调用 .NET 类的方法、通过 Add-Type 嵌入 C# 与 Win32 API、COM 操作、Excel 进程残留与后续处理、Office 无人执行不受支持的原因,以及 5.1 与 7 之间的差异。
-
DLL・COM 接口的向后兼容性 ── 判断哪些改动会破坏调用方的对照表
DLL 或 COM 组件的哪些改动会破坏调用方?本文整理二进制兼容、源代码兼容、行为兼容这三层概念,给出按改动类型划分的判断表、COM 接口不可变的铁律,以及 semver 的实务运用方法,作为一份实务指南。
-
Arm 版 Windows 上业务应用能运行吗 ── x64 仿真(Prism)与原生 DLL・COM 的现实
面向开发者与信息系统部门,回答「Arm 版 Windows 上业务应用能运行吗」这一问题。梳理 x64 仿真(Prism)的原理、驱动程序等无法运行的层面、.NET 中 AnyCPU 与 P/Invoke 的组合问题,以及 Arm 适配自查清单。
-
C# 操作 Excel 时 EXCEL.EXE 残留的问题 ── COM 引用释放模式与替换判断
本文从 COM 引用计数与 RCW 的运行原理,整理 C# 通过 Microsoft.Office.Interop.Excel 操作 Excel 时 EXCEL.EXE 进程残留的问题。内容涵盖「两个点规则」的陷阱、Marshal.ReleaseComObject 派与 GC 派两种释放模式、以 Hwnd 定位 ...
-
Windows 的进程间通信该怎么选 ── 命名管道 / TCP / gRPC / 共享内存 / COM 判断表
整理 Windows 应用程序之间应该如何选择通信方式。用判断表整理命名管道、本地 TCP、gRPC、共享内存、文件对接、COM 各自的优势与陷阱,并从实务角度说明 UI+服务分离・32bit/64bit 桥接・权限边界等常见架构,以及命名管道的实现示例。
-
委托开发 Windows 应用程序前该梳理的事项
在委托外包开发 Windows 应用程序之前,梳理现有软件改造、设备联动、COM/ActiveX、发布与更新、维护等需要注意的要点。
-
开发者的奇爱,或者我如何学会停止焦虑并爱上Windows
Windows很麻烦。但这种麻烦,恰恰是因为它是一个长年背负着现实业务的操作系统才会有的麻烦。
-
Office 2024/Microsoft 365 中 ActiveX 无法运行的原因与排查步骤
梳理在 Office 2024/Microsoft 365 中 ActiveX 无法运行时,按默认禁用、32bit/64bit、COM 注册、依赖 DLL、IE 模式、Click-to-Run 日志的顺序进行排查的方法。
-
COM/OCX/ActiveX 开发中容易踩坑的注册与位数陷阱
本文从实务角度整理 COM、OCX、ActiveX 开发中容易踩坑的 32bit/64bit、Visual Studio 2022、regsvr32/Regasm、管理员权限、HKCR、STA/MTA 等问题。
-
什么是 Reg-Free COM——无需注册使用 COM 的机制
梳理 Reg-Free COM 的基础、激活上下文与清单各自的作用、优点、局限,以及在实务中判断是否采用的依据。
-
Excel 报表输出的实现方法 - COM / Open XML / 模板
Excel 报表输出的设计,会因为是自动操作 Excel、还是直接生成 xlsx、还是保留现有 VBA 而大不相同。本文以 Windows 应用和业务系统中的报表输出为前提,梳理方案选型的判断标准与推荐结构。
-
让 VBA 以带类型的方式调用 .NET 8 DLL 的方法 - COM 公开与 dscom TLB
本文整理将 .NET 8 类库以 COM 形式公开、用 dscom 生成 TLB,并在 VBA 中通过早期绑定调用的完整步骤,包括位数匹配、注册与取消注册、异常与 HRESULT 的对应关系以及分发注意事项。
-
COM / ActiveX / OCX 是什么 - 区别与关系一并梳理
从实务视角梳理什么是 COM、什么是 ActiveX、什么是 OCX,一直讲到三者的区别与关系、与 OLE 的关联、它们被用在哪里,以及现在应该怎么看待它们。
-
ActiveX / OCX 现在该如何处理 - 保留、封装、替换的判断表
本文整理发现 ActiveX / OCX 时应该选择保留、封装还是替换,涵盖 32bit / 64bit、注册、浏览器依赖、供应商维护等因素。
-
Media Foundation 入门:用 COM 视角理解 API
本文按照最先需要掌握的顺序,结合 COM、HRESULT、IMFSourceReader、MFT 等 Windows 媒体 API 的基础术语,整理 Media Foundation 到底是什么。
-
COM STA/MTA 基础 - 线程模型与避免 Hang 的思路
本文梳理 COM STA/MTA 的基础知识,涵盖 Apartment Model、UI 线程、消息循环、封送处理,直到避免 Hang 的思路。
-
32 位应用调用 64 位 DLL 的 COM 桥接实例
本文整理当 32 位应用无法直接调用 64 位 DLL 时,通过 COM 桥接进行集成的思路,并结合 Windows 的限制、架构构成与处理流程加以说明。
-
什么是 COM - 为什么 Windows COM 的设计至今依然优美
本文从 Windows COM 的接口设计、IUnknown、GUID、二进制兼容性等角度整理 COM 是什么,并说明它至今依然适用的原因。