無標題列視窗拖曳移動技巧:WM_NCHITTEST 訊息實作
在 MFC 對話框應用程式中實現無標題列視窗的滑鼠拖曳移動,無需手動計算矩形區域或處理滑鼠訊息細節,核心在於攔截 WM_NCHITTEST 非用戶區測試訊息。
取得遠端機器 MAC 位址原始碼實作(ARP 協定)
本程式示範如何在 Windows 平台以 C 語言撰寫工具 RmtHost.exe,透過 SendARP API 解析指定 IPv4 位址對應的 MAC 位址,
查看進程存取權杖資訊工具 TokenInfor 原始碼解析
本工具功能類似 whoami,但支援指定進程 PID 查詢其使用者資訊與存取權杖(Token)詳細屬性。原始碼以 C 語言撰寫,可編譯為獨立執行檔 tinfor
VC++ 實現視窗透明效果:SetLayeredWindowAttributes 動態載入技巧
背景與挑戰 Windows 2000+ 引入 WS_EX_LAYERED 擴充樣式與 SetLayeredWindowAttributes API,可輕鬆實現視
支援資料項查找的 CTreeCtrl 擴充類別:遞迴搜尋避免節點重複
樹狀控制項 (CTreeCtrl) 基礎 結構:根節點 → 子節點 → 孫節點...,節點間為父子/同輩關係。 核心屬性:文字標籤、影像索引 (Image L
VC++ 匿名管道實作:父子進程單向通訊完整範例
匿名管道核心概念 定義:一段共享記憶體,父進程 (管道伺服器) 建立,子進程 (管道客戶端) 連接,單向資料流。 特性:僅限本機、父子進程關係、不支援網路、不
《VC++ 技術內幕》學習筆記(三):訊息映射與視圖類——CView 核心、OnDraw 繪圖與 Source Browser 追蹤繼承
MFC 訊息映射機制 MFC 使用巨集將訊息對應至成員函數,優點: 允許非視窗類別 (如文件類) 處理命令訊息。 無需 C++ 語言擴充,純標準 C++ 實現
《VC++ 技術內幕》學習筆記(四):資源檔與建置模式——Debug/Release 差異、診斷宏與調試技巧
資源檔 (.rc) 內容 資源檔決定應用程式使用者介面,包含: Accelerator:快速鍵對應表 Dialog:對話框版面與控制項 Icon:16×16、
《VC++ 技術內幕》學習筆記(五):基本事件處理——訊息映射、常見視窗訊息與惡作劇程式
MFC 事件處理機制 Windows 以訊息驅動。MFC 透過 訊息映射 將訊息 (如 WM_LBUTTONDOWN) 對應至類別成員函數 (如 OnLButt
《VC++ 技術內幕》學習筆記(六):映射模式詳解——從裝置座標到邏輯座標的轉換藝術
為何需要映射模式? 預設 MM_TEXT 以像素為單位,相同像素尺寸在不同解析度螢幕、印表機上實體大小不同。映射模式定義「邏輯座標」到「裝置座標」的轉換規則,實
《VC++ 技術內幕》學習筆記(七):圖形裝置介面 (GDI) 核心——CDC、GDI 物件與裝置環境管理
CDC:裝置環境核心類別 繼承關係:CObject → CDC。封裝 Win32 HDC,提供 C++ 介面呼叫 GDI 函數。 虛擬化優勢:同一 OnDra
《VC++ 技術內幕》學習筆記(八):色彩與字體——GDI 繪圖色彩模型與字體建立全解析
Windows 色彩模型 標準 VGA:8 位色彩暫存器(262,144 色),但 4 位色碼一次僅顯 16 色。 GDI 色彩:32 位 COLORREF
《VC++ 技術內幕》學習筆記(九):模態對話框與通用控制項基礎——體育彩票選號器實作
對話框基礎知識 模態對話框:DoModal() 呼叫後阻塞父視窗,使用者必須關閉才能繼續操作(如開啟檔案對話框)。 非模態對話框:Create() 建立,不阻
《VC++ 技術內幕》學習筆記(十):模態對話框進階——攔截 Enter/ESC 鍵防止意外關閉
問題背景 模態對話框中,當焦點不在按鈕上時(如編輯框),按 Enter 或 ESC 會觸發預設 OnOK / OnCancel 導致對話框關閉。若需自行驗證或阻
VC++ 介面繪製 3D 立體文字效果:SetTextColor 與像素錯位技巧
實作原理 3D 文字效果透過 高光 與 陰影 兩層文字疊加產生: 先以系統高光色 (COLOR_3DHILIGHT) 繪製文字,座標向右下偏移 1 像素。 再
VC++ ADO 連線受密碼保護的 Access 資料庫完整範例
連線字串關鍵:Jet OLEDB:Database Password Access 資料庫設定密碼後,ADO 連線字串必須包含 Jet OLEDB:Databa
VC++ ADO 存取 Access 2000:列舉所有使用者資料表名稱
核心原理 利用 ADO OpenSchema 方法搭配 adSchemaTables 列舉資料庫結構描述,篩選 TABLE_TYPE = TABLE 即可取得所
《VC++ 技術內幕》學習筆記(二):MFC 應用程式架構與 AppWizard 實戰
MFC 應用程式架構優勢 標準化結構:文件/視圖架構分離資料與顯示,利於維護與擴充。 程式碼精簡:透過動態連結 MFC DLL,執行檔體積小。 開發效率:Vi