Advertisement
Guest User

hooking dll so far

a guest
Dec 13th, 2013
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.07 KB | None | 0 0
  1. // dllmain.cpp : Defines the entry point for the DLL application.
  2. #pragma once
  3. #include "stdafx.h"
  4. #include <iostream>
  5. using namespace std;
  6.  
  7.  HINSTANCE currentProcessHandle;
  8.  HOOKPROC hkprcSysMsg;
  9.  HHOOK hookID;
  10.  
  11. BOOL APIENTRY DllMain( HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
  12. {
  13.     switch (ul_reason_for_call)
  14.     {
  15.     case DLL_PROCESS_ATTACH:
  16.         currentProcessHandle = hModule;
  17.         break;
  18.     case DLL_THREAD_ATTACH:
  19.     case DLL_THREAD_DETACH:
  20.     case DLL_PROCESS_DETACH:
  21.         break;
  22.     }
  23.     return TRUE;
  24. }
  25.  
  26. LRESULT CALLBACK HookProcedure(int nCode, WPARAM wparam, LPARAM lparam)
  27. {
  28.     if (nCode >= 0)
  29.     {
  30.         switch (nCode)
  31.         {
  32.         case HCBT_CREATEWND:
  33.             cout << "Created!~" << endl;
  34.             break;
  35.         case HCBT_DESTROYWND:
  36.             cout << "Destroied!~" << endl;
  37.             break;
  38.         default:
  39.             cout << "sth else" << endl;
  40.             break;
  41.         }
  42.     }
  43.     else
  44.     {
  45.         return CallNextHookEx(hookID, nCode, wparam, lparam);
  46.     }
  47. }
  48.  
  49. void InstallHook()
  50. {
  51.     hookID = SetWindowsHookEx(WH_CBT, HookProcedure, currentProcessHandle, 0);
  52. }
  53.  
  54. void UnistallHook()
  55. {
  56.     UnhookWindowsHookEx(hookID);
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement