首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 實現滑鼠鍵盤監控與屏蔽:Windows Hook 技術詳解 (1)

     編輯:關於C語言

執行介面預覽

程式運行後的介面如下圖所示:

技術背景說明

在 C++ 中實現鍵盤滑鼠攔截相對容易,經典範例眾多;但在 C# 中受限於託管環境,若不熟悉 Hook 機制極易遇到問題。建議先參考 微軟 HOOK 技術專題 夯實基礎。

核心實現步驟

本質上是透過 P/Invoke 調用 Windows API,主要分四步:

  1. 安裝鉤子:SetWindowsHookEx(WH_Codes idHook, HookProc lpfn, IntPtr pInstance, int threadId)
  2. 回調處理:CallNextHookEx(IntPtr pHookHandle, int nCode, Int32 wParam, IntPtr lParam)
  3. 業務邏輯:在回調中執行攔截、記錄或屏蔽等自定義操作。
  4. 卸載鉤子:UnhookWindowsHookEx(IntPtr pHookHandle) 釋放資源。

關鍵程式碼片段

private void start_Click(object sender, EventArgs e)
{
    hook_Main.InstallHook("1"); // 安裝滑鼠鉤子
}

private void stop_Click(object sender, EventArgs e)
{
    this.hook_Main.UnInstallHook(); // 卸載所有鉤子
}

private void stopkeyboard_Click(object sender, EventArgs e)
{
    hook_Main.InstallHook("2"); // 安裝鍵盤鉤子
}

封裝良好的 Hook 類別可直接整合至 WinForms/WPF 專案,實現全域輸入監控與攔截。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved