Advertisement
Guest User

Hooking Problem

a guest
Dec 14th, 2013
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1.  
  2. LRESULT CALLBACK HookProcedure(int nCode, WPARAM wparam, LPARAM lparam)
  3. {
  4.  
  5.     if (nCode < 0) return CallNextHookEx(0, nCode, wparam, lparam);
  6.     time_t  timev;
  7.     std::ofstream outfile;
  8.     CBT_CREATEWND   *CBTHOOKCREATE = NULL;
  9.     CBT_CREATEWNDW  *CBTHOOKCREATEW = NULL;
  10.     CREATESTRUCTW   *CBTHOOKCREATESTRW = NULL;
  11.     RECT            *CBTRECTPTR;
  12.     RECT            CBTRECT;
  13.     wstring         Message;
  14.    
  15. //none of these work!
  16.     if (IsWindowUnicode((HWND) wparam))
  17.     {
  18.         CBTHOOKCREATEW = (CBT_CREATEWNDW*) lparam;
  19.         CBTHOOKCREATESTRW = (CREATESTRUCTW*) lparam;
  20.     }
  21.     else
  22.     {
  23.         CBTHOOKCREATE = (CBT_CREATEWND*) lparam;
  24.     }
  25.    
  26.     outfile.open(("d:\\test.txt"), std::ios_base::app);
  27.  
  28.     if (nCode >= 0) {
  29.         switch (nCode)
  30.         {
  31.         case HCBT_CREATEWND://when i run the application after installing the hook! my explorer crashes!!
  32.             outfile << CBTHOOKCREATEW->lpcs->lpszName << " is Created! " << CBTHOOKCREATESTRW->lpszName << endl;
  33.             break;
  34.         case HCBT_DESTROYWND:
  35.             //outfile << CBTHOOKCREATE->lpcs->lpszName << " " << CBTHOOKCREATEW->lpcs->lpszName << " is Destroyed!" << time(&timev) << endl;
  36.             break;
  37.         default:
  38.             break;
  39.         }
  40.     }
  41.     outfile.close();
  42.     return 0;
  43. }
  44.  
  45. void InstallHook(void)
  46. {
  47.     hookID = SetWindowsHookEx(WH_CBT, HookProcedure, currentProcessHandle, 0);
  48. }
  49.  
  50. void UninstallHook(void)
  51. {
  52.     UnhookWindowsHookEx(hookID);
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement