Untitled
unknown
plain_text
2 years ago
1.2 kB
9
Indexable
#include <windows.h>
#include <stdint.h>
#include <iostream>
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {
if (nCode != HC_ACTION) {
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
auto kbd = reinterpret_cast<KBDLLHOOKSTRUCT*>(lParam);
if (kbd->vkCode == VK_PRIOR && !--kbd->flags) {
keybd_event( VK_OEM_102, 0, NULL, 0 );
keybd_event( VK_OEM_102, 0, KEYEVENTF_KEYUP, 0 );
return 1;
}
if (kbd->vkCode == VK_NEXT && !--kbd->flags) {
keybd_event( VK_SHIFT , 0, NULL, 0 );
keybd_event( VK_OEM_102, 0, NULL, 0 );
keybd_event( VK_SHIFT , 0, KEYEVENTF_KEYUP, 0 );
keybd_event( VK_OEM_102, 0, KEYEVENTF_KEYUP, 0 );
return 1;
}
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
int main() {
auto hook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, nullptr, 0);
auto msg = MSG{};
while (GetMessage(&msg, nullptr, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
UnhookWindowsHookEx(hook);
return 0;
}Editor is loading...