Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2014
577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. #include <windows.h>
  2. #include <stdio.h>
  3.  
  4. HHOOK MouseHook = {0};
  5. HHOOK KeyboardHook = {0};
  6.  
  7. LRESULT WINAPI MouseHookProc(int Code, WPARAM wParam, LPARAM lParam) {
  8.     if (Code == HC_ACTION) {
  9.         printf("Mouse\n");
  10.     }
  11.     return CallNextHookEx(MouseHook, Code, wParam, lParam);
  12. }
  13.  
  14. LRESULT WINAPI KeyboardHookProc(int Code, WPARAM wParam, LPARAM lParam) {
  15.     if (Code == HC_ACTION) {
  16.         printf("Keyboard\n");
  17.     }
  18.     return CallNextHookEx(KeyboardHook, Code, wParam, lParam);
  19. }
  20.  
  21. DWORD WINAPI ThreadProc(LPVOID param) {
  22.     HINSTANCE hInstance = (HINSTANCE)param;
  23.     MouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProc, hInstance, 0);
  24.     KeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProc, hInstance, 0);
  25.  
  26.     MSG message;
  27.     while (GetMessage(&message, (HWND)-1, 0, 0) > 0) {
  28.         TranslateMessage(&message);
  29.         DispatchMessage(&message);
  30.     }
  31.  
  32.     UnhookWindowsHookEx(KeyboardHook);
  33.     UnhookWindowsHookEx(MouseHook);
  34.  
  35.     return 0;
  36. }
  37.  
  38. extern "C" __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
  39.     if (fdwReason == DLL_PROCESS_ATTACH) {
  40.         CloseHandle(CreateThread(NULL, 0, ThreadProc, hinstDLL, 0, NULL));
  41.     }
  42.     return TRUE;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement