Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <stdio.h>
- HHOOK MouseHook = {0};
- HHOOK KeyboardHook = {0};
- LRESULT WINAPI MouseHookProc(int Code, WPARAM wParam, LPARAM lParam) {
- if (Code == HC_ACTION) {
- printf("Mouse\n");
- }
- return CallNextHookEx(MouseHook, Code, wParam, lParam);
- }
- LRESULT WINAPI KeyboardHookProc(int Code, WPARAM wParam, LPARAM lParam) {
- if (Code == HC_ACTION) {
- printf("Keyboard\n");
- }
- return CallNextHookEx(KeyboardHook, Code, wParam, lParam);
- }
- DWORD WINAPI ThreadProc(LPVOID param) {
- HINSTANCE hInstance = (HINSTANCE)param;
- MouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProc, hInstance, 0);
- KeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProc, hInstance, 0);
- MSG message;
- while (GetMessage(&message, (HWND)-1, 0, 0) > 0) {
- TranslateMessage(&message);
- DispatchMessage(&message);
- }
- UnhookWindowsHookEx(KeyboardHook);
- UnhookWindowsHookEx(MouseHook);
- return 0;
- }
- extern "C" __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
- if (fdwReason == DLL_PROCESS_ATTACH) {
- CloseHandle(CreateThread(NULL, 0, ThreadProc, hinstDLL, 0, NULL));
- }
- return TRUE;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement