博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC屏蔽 WindowS按键
阅读量:5057 次
发布时间:2019-06-12

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

LRESULT CALLBACK LowLevelKeyboardPorc(int nCode,WPARAM wParam,LPARAM lParam)//屏蔽按键的真正实现方法

{
BOOL fEatKeystrole = FALSE;
if (nCode == HC_ACTION)
{
switch (wParam)
{
case WM_KEYDOWN:
case WM_SYSKEYDOWN:
case WM_KEYUP:
case WM_SYSKEYUP:
{
PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam;

if (p->vkCode == VK_LWIN || p->vkCode == VK_RWIN)//

{
fEatKeystrole = TRUE;
}

// //Tab + Alt

/*((p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0))
//Esc + Alt
|| ((p->vkCode == VK_ESCAPE) && ((p->flags & LLKHF_ALTDOWN) != 0))
//Esc + Ctrl
|| ((p->vkCode == VK_ESCAPE) && ((GetKeyState(VK_CONTROL) & 0x8000) != 0))
//Ctrl + Space
|| (((GetKeyState(VK_CONTROL) & 0x8000) != 0) && (p->vkCode == VK_SPACE));
*/

}
break;
}
}
return(fEatKeystrole?1:CallNextHookEx(NULL,nCode,wParam,lParam));
}

 

 

BOOL CXXXDlg::installhook(void)

{
HINSTANCE hins=AfxGetInstanceHandle();
Hook = SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)LowLevelKeyboardPorc,hins,0);
return (BOOL)Hook;
}

 

 

BOOL CXXXDlg::OnInitDialog()

{

//前面代码 系统默认,

  SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);//全屏后一直在前端显示

  HWND hWnd = ::FindWindow(_T("Shell_TrayWnd"),NULL);//取消任务栏,开始菜单
  HWND hButton =::FindWindow(NULL, _T("Start"));//取消开始菜单 ,XP下不成功
  if (hWnd&& hButton)
  {
    // static BOOL bShow = FALSE;
    ::ShowWindow(hWnd, SW_HIDE );
    ::ShowWindow(hButton,SW_HIDE);
  }

  installhook();//加载勾子

  return TRUE;  

}

//卸载

UnhookWindowsHookEx(g_hhkLowLevel,Kybd);//这个参数不对

 http://blog.csdn.net/eplanet/article/details/1789941

转载于:https://www.cnblogs.com/dengpeng1004/p/4781891.html

你可能感兴趣的文章
javascript的数组之sort()
查看>>
hdu3535 混合背包
查看>>
log4net使用
查看>>
linux 常用命令
查看>>
ubuntu 14.04 hadoop 1.2.1 伪分布式
查看>>
关于循环结构
查看>>
codeforces 1131D-Gourmet choice
查看>>
两个表中多个字段相同,查询一个中有在另一个表中没有的数据
查看>>
Spring框架IOC容器和AOP解析(转)
查看>>
为程序员的浩浩荡荡再加份力量
查看>>
批处理制作教程
查看>>
评价使用的输入法
查看>>
char的本质
查看>>
对回溯算法的理解(以数独游戏为例,使用c++实现)
查看>>
PHP_EOL
查看>>
Redis 基本命令
查看>>
软件测试基础 - 缺陷管理
查看>>
操作系统面试
查看>>
java-大数据运算
查看>>
谜题48:我所得到的都是静态的
查看>>