博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HOOK 底层键盘消息---WH_KEYBOARD_LL
阅读量:6581 次
发布时间:2019-06-24

本文共 1349 字,大约阅读时间需要 4 分钟。

代码:屏蔽三个全局快捷键

代码的作用是屏蔽掉凝视中的三个快捷键.

LRESULT CALLBACK LowLevelKeyboardProc (INT nCode, WPARAM wParam, LPARAM lParam){	// By returning a non-zero value from the hook procedure, the	// message does not get passed to the target window	KBDLLHOOKSTRUCT *pkbhs = (KBDLLHOOKSTRUCT *)lParam;	BOOL bControlKeyDown = 0;	HWND hWnd = GetForegroundWindow();	WCHAR szClassName[MAX_PATH] = {0};	::GetClassName(hWnd, szClassName, MAX_PATH);		switch (nCode)		{		case HC_ACTION:			{				// Check to see if the CTRL key is pressed				bControlKeyDown = GetAsyncKeyState (VK_CONTROL) >> ((sizeof(SHORT) * 8) - 1);				 //Disable CTRL+ESC				if (pkbhs->vkCode == VK_ESCAPE && bControlKeyDown)					return 1;				 //Disable ALT+TAB				if (pkbhs->vkCode == VK_TAB && pkbhs->flags & LLKHF_ALTDOWN)					return 1;				 //Disable ALT+ESC				if (pkbhs->vkCode == VK_ESCAPE && pkbhs->flags & LLKHF_ALTDOWN)					return 1;				break;			}		default:			break;		}		//MessageBoxA(NULL, "aaa", NULL, MB_OK);		return 1;}void ChookKeyboardllDlg::OnBnClickedOk(){	// TODO: 在此加入控件通知处理程序代码	Hook=(HHOOK)SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)LowLevelKeyboardProc, theApp.m_hInstance,0); 	//CDialogEx::OnOK();}void ChookKeyboardllDlg::OnBnClickedCancel(){	// TODO: 在此加入控件通知处理程序代码	if(Hook)	{		BOOL result = UnhookWindowsHookEx((HHOOK)Hook); // 卸载钩子		if (result) Hook = NULL;	}	//CDialogEx::OnCancel();}

转载地址:http://ilnno.baihongyu.com/

你可能感兴趣的文章
word怎么压缩图片
查看>>
C语言编程实现 输入一个非负整数,返回组成它的数字之和(递归方法)
查看>>
c3p0
查看>>
redis cluster 集群搭建(增、删、改、查) :5.0.2
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
引号-下划线,连接多个变量
查看>>
游戏LOGO它应该长什么样?
查看>>
我的友情链接
查看>>
Office365 之分配、回收License工具
查看>>
盘点2012年应用交付网络 谈2013年网络技术趋势(2)
查看>>
38线程1-Thread-local-Timer
查看>>
为Exchange server 2013 申请多域名证书
查看>>
处理svn的 File '/aa' is out of date
查看>>
解决 Ubuntu 16.04 LTSSublime text3中文问题
查看>>
tt安装与配置
查看>>
java继承分析
查看>>
10.22T6 水题
查看>>
iOS interview questions and Answers
查看>>
mysql主从复制实现数据库同步
查看>>