Advertisement
Advertisement
| 06.06.2008 at 07:26AM PDT, ID: 23463815 |
|
[x]
Attachment Details
|
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: |
// dllmain.cpp : Defines the entry point for the DLL application.
#include "stdafx.h"
LRESULT CALLBACK CallWndProc(int nCode,WPARAM wParam,LPARAM lParam);
HHOOK myHook = NULL;
HMODULE myModule = NULL;
extern "C" void _declspec(dllexport) StartHook(){
if (myHook == NULL){
myHook = SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)CallWndProc,myModule,0);
}
}
extern "C" void _declspec(dllexport) StopHook(){
if (myHook != NULL){
UnhookWindowsHookEx(myHook);
}
}
BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
myModule = hModule;
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
StopHook();
break;
}
return TRUE;
}
LRESULT CALLBACK CallWndProc(int nCode,WPARAM wParam,LPARAM lParam){
if (nCode < 0){return CallNextHookEx(myHook,nCode,wParam,lParam);}
BOOL cancelMessage = false;
CWPSTRUCT* pwp = (CWPSTRUCT*)lParam;
switch(pwp->message){
case WM_SIZING:
cancelMessage = TRUE;
break;
case WM_SIZE:
cancelMessage = TRUE;
break;
}
if (!cancelMessage){
return CallNextHookEx(myHook,nCode,wParam,lParam);
}else{
return 1; //This doesn't work
// MessageBox(0,L"Message Cancelled",L"Cancelled",MB_OK);
}
}
|