ATL 內部機制深度解析 (一):虛函數表與多重繼承記憶體佈局
系列前言 本系列深入探討 ATL (Active Template Library) 內部實作技術。首篇聚焦 C++ 物件模型核心:虛函數表 (vtable)、
ATL 布幔之下的秘密 (2):虛函數表深度解析、建構子陷阱與 ATL_NO_VTABLE 優化
前言:虛函數表是 C++ 多型的基石,也是 ATL 優化的重點 本文透過一系列實驗程式,逐步揭示虛函數表 (vtable) 在單一繼承、多重繼承、純虛函數、建構
ATL 布幔之下的秘密 (3):模板元編程核心技術——策略模式、智慧指標與靜態多型
前言:ATL 的靈魂是模板 ATL 大量運用 C++ 模板實現靜態多型、策略模式、智慧指標等核心機制,避免虛函數開銷。本文系統梳理 ATL 中關鍵的模板技術,並
ATL 布幔之下的秘密 (4):呼叫慣例、堆疊幀、Naked 函數與內聯組語實戰
前言:為什麼 ATL 開發者必須懂組語? ATL 為了極致的效能與體積,大量使用內聯組語、裸函數 (__declspec(naked)) 及自訂呼叫慣例。本文從
ATL 布幔之下的秘密 (5):視窗類別、Thunk 機制與訊息路由的深度解析
前言:ATL 不只是 COM,更是輕量級視窗框架 許多開發者認為 ATL 僅用於撰寫 COM 元件,實則 ATL 的視窗類別 (CWindow, CWindow
打造可嵌入網頁與多媒體軟體的 MFC ActiveX 錄音機控件
從獨立程式到 ActiveX 控件 上一篇實作了獨立的錄音機程式,本文進一步將其封裝為 MFC ActiveX 控件,使其能嵌入 Internet Explor
在 Microsoft Word 中整合 Microsoft Agent:利用鉤子與 COM 打造專屬辦公助手
動機:讓 Word 助手不再單調 每天面對 Word 內建的幾個 Office Assistant(如回形針 Clippy),久而久之難免感到乏味。Micros
實現快捷方式「查找目標」功能的完整指南:從 Windows 98 到 XP 的跨平台解決方案
前言:為什麼需要自行實現「查找目標」? 在開發輔助工具時,常需要模擬 Windows 檔案總管中快捷方式的「查找目標」功能——即打開目標檔案所在的資料夾,並自動
MSChart 控件速成指南:VC6 中繪製折線/柱狀/餅圖完整範例
Microsoft Chart Control 6.0 (OLEDB) 是經典 ActiveX 圖表控件,本文給出 VC6/MFC 整合全流程與核心屬性配置代碼
Windows NT/2000/XP 下使用 VDMDBG API 管理 16 位應用程式
背景知識 Windows NT 系列作業系統透過 Virtual DOS Machine (VDM) 執行 16 位 Windows 應用程式。`VDMDBG.
Win32 API 枚舉視窗與進程全平台指南:ToolHelp32 與 PSAPI 統一封裝
任務管理器核心功能:枚舉頂層視窗與系統進程。視窗用 EnumWindows (回調 + LPARAM) 避免 Z-Order 干擾;進程枚舉因平台差異需分庫處理
NT 進程隱藏技術深度實現:手工重定位與隱式鏈接完美融合
進程隱藏核心:遠程線程在宿主 (如 explorer.exe) 空間執行代碼。難點二:代碼重定位 (解決直接絕對地址指令) 與隱式 DLL 鏈接 (解決 IAT
C++ 類封鎖繼承技巧與 SetForegroundWindow 跨進程視窗激活實戰
本文匯總三個實用 C++/Windows 開發技巧:文件對話框預設視圖模式控制、.NET 調用 SetForegroundWindow 激活外部視窗、C++ 編
ActiveX 控件瀏覽器免警告部署:元件分類註冊表法 (MFC 適用)
MFC 開發的 ActiveX 控件在瀏覽器載入常彈「腳本不安全」警告。除實現 IObjectSafety 外,修改註冊表註冊元件分類 (Component C
Word 文檔防拖放外洩插件:API Hook 與 COM 介面雙重防護實戰
針對利用 Office 自動化介面竊取 Word 內容的惡意代碼,作者開發一款 Word 加載項:Hook DoDragDrop 並進一步 Hook IDrop
表達式求值科學計算器:支援混合進制、寬鬆語法與 16 位精度
區別於常見計算器,本實現聚焦表達式解析引擎:16 位有效數字、容忍缺漏括號/隱式乘法 (如 cos23*sin34)、單一表達式內混合二/八/十/十六進制 (十
基於 SHA-256 的 HMAC 文件校驗器:從原理到工程化實現
HMAC (Keyed-Hash Message Authentication Code) 結合密鑰與雜湊函數,能在不加密明文前提下驗證文件完整性。本文實現一款
IDispatch 多層自動化接口實現:MFC 與 ATL 打造 LPDispatch 分層屬性
腳本中常見 obj.Document.Write(...) 寫法,Document 即為 LPDispatch 型別屬性——一個擁有自身方法/屬性的子自動化物件