C# 實現螢幕鍵盤 ScreenKeyboard(一)——鉤子原理、類型與 NativeMethods API 封裝
為何需要全域鉤子 螢幕鍵盤需監聽所有鍵盤事件,無論視窗是否啟用。唯有系統級 (全域) 鉤子能攔截所有執行緒訊息。 鉤子 (Hook) 定義 Windows 訊
C# 實現螢幕鍵盤 ScreenKeyboard(二)——SetWindowsHookEx 安裝全域鉤子完整實現
鉤子類型與範圍 局部鉤子:僅攔截本進程執行緒事件 遠端鉤子 (全域):攔截所有進程事件,需 DLL 封裝 執行緒鉤子:針對特定執行緒 全域鉤子安裝必要條件
C# 實現螢幕鍵盤 ScreenKeyboard(三)——鉤子卸載與資源釋放完整實現
鉤子卸載核心代碼 public void Stop() { this.Stop(true, true, true); } public void S
C# 實現螢幕鍵盤 ScreenKeyboard(四)——SendInput 模擬鍵盤輸入與按鈕點擊處理
鉤子 DLL 編譯與使用 將鉤子類別編譯為 DLL,應用程式引用並透過事件監聽所有鍵盤/滑鼠事件。 SendInput 模擬按鍵核心代碼 private v
C# 實現螢幕鍵盤 ScreenKeyboard(五)——虛擬鍵碼對照表與組合鍵處理邏輯
組合鍵對應結構 // Key: VK_SHIFT, VK_CONTROL 等虛擬鍵碼 // Value: 對應的 KeyboardButton 列表 (左右鍵
C# 實現螢幕鍵盤 ScreenKeyboard(六)——全域滑鼠鉤子實現無焦點視窗與最終效果
核心需求:不可取得焦點但可拖曳 螢幕鍵盤視窗不可搶奪輸入焦點 (否則目標應用程式失去焦點),但標題列點擊需可拖曳移動視窗。 全域滑鼠鉤子實現 UserAct
C# 實現自訂訊息處理:單一執行個體應用程式與跨進程訊息傳遞
背景:委派/事件 vs Win32 訊息 .NET BCL 封裝 Win32 控制項,開發者鮮少接觸訊息迴圈。但 WPF 仍保留 Win32 訊息支援,且某些功
C# 操作 XML 資料庫類型:Oracle XMLType 實戰(一)——Code-First 設計類別產生 XSD 架構
學習目標完整路徑 設計 C# 類別 → 產生 XML Schema 基於 Schema 建立 XMLType 資料表 插入測試資料驗證約束 類別變更 → Sc
C# 操作 XML 資料庫類型:Oracle XMLType 實戰(二)——註冊 Schema 產生自訂型別與表
類別結構 Phone:電話號碼、類型 PhoneType:列舉 (未知/移動/固定) Phones:List<Phone> 集合,含 Add(co
C# 操作 XML 資料庫類型:Oracle XMLType 實戰(三)——建表、物件關聯儲存與嵌套表約束
建立 XMLType 資料表 CREATE TABLE XML_USER_INFO ( NPK integer, USER_NAME NVARCHAR
C# 操作 XML 資料庫類型:Oracle XMLType 實戰(四)——資料插入、約束驗證與物件直存優勢
插入測試資料 INSERT INTO XML_USER_INFO VALUES (1, 用戶1, XMLType(<Phones xmlns:xsi
C# 操作 XML 資料庫類型:Oracle XMLType 實戰(五)——C# 類別變更驅動 Schema 更新
業務變更需求 Phone 類別新增 Make 說明屬性 PhoneType 列舉新增 PHS (小靈通) 集合類別 Phones 不變 C# 類別修改代碼
C# 操作 XML 資料庫類型:Oracle XMLType 實戰(六)——Schema 就地演變 with DBMS_XMLSCHEMA.inPlaceEvolve
業務變更:Phone 新增 Make 欄位、PhoneType 新增「小靈通」 完整 PL/SQL 演變腳本 declare -- 舊 Schema
C# 操作 XML 資料庫類型:Oracle XMLType 完整實戰總結(九)——階段性總結與效能展望
讀取操作優勢 分頁查詢比 Join 多表 (User + Phone) 簡潔許多 結果直接反序列化為物件,省去資料映射代碼 適合「主記錄 + 少量子記錄」樹狀
C# 物件初始化完整解析(一):初始化順序完整示範與 Tracker 追蹤技巧
原文出處 https://www.csharp411.com/c-object-initialization/ C# 物件初始化完整順序 Derived 靜
C# 物件初始化完整解析(二):建構順序陷阱與兩階段建構模式
實際輸出驗證初始化順序 Derived.Static.Field1 Derived.Static.Field2 Derived.Static.Construc
C# Visio 二次開發:電氣線路停電分析邏輯(一)——需求背景與核心流程架構
停電分析:定義與價值 對 Visio 繪製的電氣線路圖進行邏輯分析,判斷各設備通電狀態。雙重價值: 驗證圖面連接正確性:發現斷路、虛連等繪圖錯誤 可視化通電狀
C# Visio 二次開發:電氣線路停電分析邏輯(二)——遞迴構建拓撲樹逐步演示
資料來源:Equipment + ConnectionShapes 關係表 單一飛達分析,僅有一個 PID=-1 (根節點)。目標:找出每個設備的 ID 及其父