gusucode.com > 阻止全局钩子的加载C++源码程序 > 阻止全局钩子的加载/blockhookdll/BlockHookDll.cpp
// BlockHookDll.cpp : Defines the class behaviors for the application. // #include "stdafx.h" #include "BlockHookDll.h" #include "BlockHookDllDlg.h" #include "GBlockHookDll.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CBlockHookDllApp BEGIN_MESSAGE_MAP(CBlockHookDllApp, CWinApp) //{{AFX_MSG_MAP(CBlockHookDllApp) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG ON_COMMAND(ID_HELP, CWinApp::OnHelp) END_MESSAGE_MAP() GBlockHookDll GBlockDll; CBlockHookDllApp::CBlockHookDllApp() { // TODO: add construction code here, // Place all significant initialization in InitInstance } ///////////////////////////////////////////////////////////////////////////// // The one and only CBlockHookDllApp object CBlockHookDllApp theApp; ///////////////////////////////////////////////////////////////////////////// // CBlockHookDllApp initialization BOOL CBlockHookDllApp::InitInstance() { GBlockDll.PatchLoadLibrary(); CBlockHookDllDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is // dismissed with OK } else if (nResponse == IDCANCEL) { // TODO: Place code here to handle when the dialog is // dismissed with Cancel } // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; }