Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LRESULT CALLBACK HookProcedure(int nCode, WPARAM wparam, LPARAM lparam)
- {
- if (nCode < 0) return CallNextHookEx(0, nCode, wparam, lparam);
- time_t timev;
- std::ofstream outfile;
- CBT_CREATEWND *CBTHOOKCREATE = NULL;
- CBT_CREATEWNDW *CBTHOOKCREATEW = NULL;
- CREATESTRUCTW *CBTHOOKCREATESTRW = NULL;
- RECT *CBTRECTPTR;
- RECT CBTRECT;
- wstring Message;
- //none of these work!
- if (IsWindowUnicode((HWND) wparam))
- {
- CBTHOOKCREATEW = (CBT_CREATEWNDW*) lparam;
- CBTHOOKCREATESTRW = (CREATESTRUCTW*) lparam;
- }
- else
- {
- CBTHOOKCREATE = (CBT_CREATEWND*) lparam;
- }
- outfile.open(("d:\\test.txt"), std::ios_base::app);
- if (nCode >= 0) {
- switch (nCode)
- {
- case HCBT_CREATEWND://when i run the application after installing the hook! my explorer crashes!!
- outfile << CBTHOOKCREATEW->lpcs->lpszName << " is Created! " << CBTHOOKCREATESTRW->lpszName << endl;
- break;
- case HCBT_DESTROYWND:
- //outfile << CBTHOOKCREATE->lpcs->lpszName << " " << CBTHOOKCREATEW->lpcs->lpszName << " is Destroyed!" << time(&timev) << endl;
- break;
- default:
- break;
- }
- }
- outfile.close();
- return 0;
- }
- void InstallHook(void)
- {
- hookID = SetWindowsHookEx(WH_CBT, HookProcedure, currentProcessHandle, 0);
- }
- void UninstallHook(void)
- {
- UnhookWindowsHookEx(hookID);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement