hookdll.cpp

来自「C++编程实践与技巧一书各章节的源码」· C++ 代码 · 共 38 行

CPP
38
字号
#include "hookdll.h"
#include <windows.h>
#include <WINNT.H>

HINSTANCE hInstance;
HHOOK hhkKeyboard;

bool APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_all,LPVOID lpReserved)
{
	switch(ul_reason_for_all)
	{
	case 1://DLL_PROCESS_ATTCH:
	case 2://DLL_THREAD_ATTCH:
	case 3://DLL_THREAD_DETACH:
	case 0://DLL_PROCESS_DETACH:
		break;
	}
	hInstance=(HINSTANCE)hModule;
	return true;
}

LRESULT KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)
{
	MessageBeep(-1);
	return CallNextHookEx(NULL,nCode,wParam,lParam);
}

bool EnableKeyboardCapture()
{
	if(!(hhkKeyboard=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyboardProc,hInstance,0)))
		return false;
	return true;
}

bool DisableKeyboardCapture()
{
	return UnhookWindowsHookEx(hhkKeyboard);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?