深入 VCL 理解 BCB 訊息機制 (二):重載 TControl.WndProc 與 IsControlMouseMsg
VCL 繼承鏈與 WndProc 角色 TObject → TPersistent → TComponent → TControl → TWinControl
深入 VCL 理解 BCB 訊息機制 (一):訊息對應巨集與 Dispatch 虛函數
前言 BCB/Delphi 核心 VCL 封裝了 Windows 訊息機制。理解 VCL 如何分派訊息,是掌握進階開發的關鍵。本系列三篇文章從源碼層面剖析。 方
深入 VCL 理解 BCB 訊息機制 (三):Application 層 Hook 與 HookMainWindow
TApplication 在訊息處理中的核心地位 BCB 程式啟動流程: Run() Run() 進入訊息迴圈,核心邏輯在 TApplication.Proc
C++ Builder 訊息處理機制深度解析與自訂訊息實作
Windows 訊息驅動架構回顧 系統訊息佇列 → 應用程式訊息佇列 訊息迴圈:GetMessage → TranslateMessage → Dispatc
C++ Builder 攔截 Windows 消息核心技術:修改系統選單、擴充 TrackBar 事件
前言:VCL 封裝的缺口與 API 後門 VCL 為了開發效率封裝了大多數常用功能,但也犧牲了部分底層控制力(如系統選單修改、TrackBar 缺乏 OnSta
C++ Builder 阻擋螢幕保護程式啟動:攔截 WM_SYSCOMMAND 實戰
問題情境 長時間批次運算、視訊播放、簡報模式等場景下,系統偵測不到使用者輸入會啟動螢幕保護程式,導致效能下降或畫面中斷。Windows 在啟動螢幕保護前,會向當
C++ Builder 系統消息與自訂消息響應完整指南
一、系統定義消息直接響應 在類別宣告的 protected 區加入處理函數,並以 BEGIN_MESSAGE_MAP 掛接: class TSomeForm :
C++ Builder 捕獲 VCL 未封裝的 Windows 消息:訊息映射表實戰
背景:VCL 封裝的邊界 C++ Builder 的 VCL 將大多數常見 Windows 消息封裝為事件(OnClick、OnKeyDown 等),但系統定義
Windows 鍵盤鉤子監控原理與進階應用:打造專屬熱鍵系統
一、Windows 鉤子架構概覽 Windows 提供 11 種標準鉤子類型(WH_KEYBOARD、WH_MOUSE、WH_JOURNALRECORD 等),
Windows 95/98 日志鉤子的應用實戰:鍵盤記錄器開發指南
前言:鉤子機制與日誌鉤子的特殊地位 在 Windows 系統編程中,鉤子是消息處理機制的核心組件。透過安裝各類鉤子,應用程式能攔截系統消息流,在消息抵達目標視窗
Windows 訊息完整參考表 (WM_ 系列詳細列表)
Windows 訊息機制概述 訊息是 Windows 通知應用程式發生事件的機制。每個訊息以 MSG (或 TMsg) 結構傳遞: typedef struc
Windows API 入門教學 (二):視窗程序與第一個完整程式
視窗程序是什麼? 視窗程式處理訊息的核心函數,由系統呼叫 (非應用程式主動呼叫)。每個視窗類別關聯一個視窗程序,處理該類別視窗接收的所有訊息。 視窗程序原型
Windows API 入門教學 (一):基礎概念與程式架構
從 DOS 到 Windows 程式設計 傳統 DOS 程式:文字介面、16 色、順序執行。 Windows 程式:圖形介面、事件驅動、多工作業、豐富 API。
Windows API 入門指南:從訊息機制到 HelloWin 完整解析
為何學習 Windows API? 雖然 RAD 工具 (VB, Delphi, C++ Builder, MFC, .NET) 提供豐富控件,但它們皆封裝於
Windows API 入門教學 (三):視窗類別註冊與建立完整流程
前言 補充前文遺漏的初始化細節。Windows API 程式初始化分四階段: 定義視窗類別 (WNDCLASS/WNDCLASSEX) 註冊視窗類別 (Reg
螢幕取字技術原理與實作:GDI Hook 攔截 TextOut/ExtTextOut
核心原理 螢幕文字繪製最終皆經由 GDI 函數: TextOutA/W ExtTextOutA/W 實現取字關鍵在於 攔截這些函數呼叫,取得傳入的字串參數。
使用 WH_CALLWNDPROC Hook 自動關閉 IE 彈出式廣告視窗
需求分析 IE 瀏覽特定網站時會彈出廣告視窗,通常特徵為: 視窗類別名為 IEFrame 無選單列、工具列 子視窗 WorkerW 設為不可見 (WS_VIS
Windows 2000 下 API Hook 實作:VirtualProtectEx + WriteProcessMemory 修改程式碼區
背景與挑戰 Win9x 時代可透過 VxD、LDT、IDT 進入 Ring 0 修改記憶體,但 Win2K (NT 核心) 禁止此類操作。幸好 Win2K 提供