「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 時常見的坑 - 整理 Visual Studio 的 32bit/64bit、註冊、管理員權限
整理開發 COM、OCX、ActiveX 元件時最容易卡關的四個面向:宿主行程的 32bit/64bit、Visual Studio 2022 變成 64bit 後的設計時整合、regsvr32 與 Regasm 的註冊位置、以及管理員權限與 HKCU/HKLM 的關係,協助讀者快速定位問題並建立穩定的開發環境。
-
什麼是 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 以早期繫結帶型別使用的完整步驟。
-
COM / ActiveX / OCX 是什麼 - 差異與關係一次整理
從實務角度梳理 COM 是什麼、ActiveX 是什麼、OCX 是什麼,涵蓋三者的差異與關係、與 OLE 的關聯、實際用在哪些地方,以及現在該怎麼看待它們。
-
ActiveX / OCX 現在該怎麼處理 - 保留、包裝、取代的判斷表
整理發現 ActiveX / OCX 時該選保留、包裝還是取代,把 32 位元與 64 位元、註冊、瀏覽器相依性以至於廠商維護都一起納入判斷。
-
Media Foundation 入門 - 從 COM 的視角理解這套 API
說明 Media Foundation 是什麼,並依照最初該掌握的順序,一併整理 COM、HRESULT、IMFSourceReader、MFT 等 Windows 媒體 API 的基本用語。
-
COM STA/MTA 基礎知識 - 執行緒模型與避免停止回應的思考方式
本文梳理 COM STA/MTA 的基礎知識,涵蓋 Apartment Model、UI 執行緒、訊息迴圈、封送處理,以及避免停止回應的思考方式。
-
從 32bit 應用呼叫 64bit DLL 的 COM 橋接案例
當 32bit 應用無法直接呼叫 64bit DLL 時,本文梳理以 COM 橋接串接兩者的思路,並一併說明 Windows 的限制、架構與處理流程。
-
什麼是 COM - Windows COM 的設計為何至今依然優美
從 Windows COM 的介面設計、IUnknown、GUID 與二進位相容性的角度梳理什麼是 COM,並說明它至今仍然適用的理由。