全局钩子ESC 关闭程序

只需三步:
1.定义钩子
HHOOK MyHook;                  //接收由SetWindowsHookEx返回的旧的钩子
2. 安装钩子
BOOL CVLifeClient2App::InitInstance()
{
	//	_CrtSetBreakAlloc(1467);//内存泄露检测
	//安装钩子
	MyHook = SetWindowsHookEx(  WH_KEYBOARD_LL,
		(HOOKPROC)&KeyboardProc,   //回调函数地址
		GetModuleHandle(NULL), 
		NULL);
         。。。。
}
3. 编写钩子的消息处理函数
int CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
	if (nCode >= HC_ACTION && wParam==WM_KEYDOWN)   
	{   
		KBDLLHOOKSTRUCT* pStruct = (KBDLLHOOKSTRUCT*)lParam;    
		//    LPWORD tmpVirtualKey = g_lpdwVirtualKey;    
		if (pStruct->vkCode == VK_ESCAPE)    
			PostQuitMessage(0);
		return TRUE;    
	}  
	return CallNextHookEx(MyHook,nCode,wParam,lParam);  //将消息还给钩子链,不要影响别人
}
完毕。

你可能感兴趣的:(全局钩子ESC 关闭程序)