Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // dllmain.cpp : Defines the entry point for the DLL application.
- #pragma once
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- HINSTANCE currentProcessHandle;
- HOOKPROC hkprcSysMsg;
- HHOOK hookID;
- BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
- {
- switch (ul_reason_for_call)
- {
- case DLL_PROCESS_ATTACH:
- currentProcessHandle = hModule;
- break;
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- case DLL_PROCESS_DETACH:
- break;
- }
- return TRUE;
- }
- LRESULT CALLBACK HookProcedure(int nCode, WPARAM wparam, LPARAM lparam)
- {
- if (nCode >= 0)
- {
- switch (nCode)
- {
- case HCBT_CREATEWND:
- cout << "Created!~" << endl;
- break;
- case HCBT_DESTROYWND:
- cout << "Destroied!~" << endl;
- break;
- default:
- cout << "sth else" << endl;
- break;
- }
- }
- else
- {
- return CallNextHookEx(hookID, nCode, wparam, lparam);
- }
- }
- void InstallHook()
- {
- hookID = SetWindowsHookEx(WH_CBT, HookProcedure, currentProcessHandle, 0);
- }
- void UnistallHook()
- {
- UnhookWindowsHookEx(hookID);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement