屏蔽WIN、ALT+TAB、CTRL+ESC键的低级键盘钩子

原创 2004年12月29日 16:25:00
回调函数:

LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
 BOOL fEatKeystroke = FALSE;
 PKBDLLHOOKSTRUCT p = NULL;

 if (nCode == HC_ACTION) 
 {
  p = (PKBDLLHOOKSTRUCT) lParam;
  switch (wParam) 
  {
   case WM_KEYDOWN: 
    // Backdoor to user information
    if (p->vkCode == VK_F8)
    {
     ::MessageBox(NULL,"Let's make things better and better!/n","HQ Tech",MB_OK);
     break;
    }
   case WM_SYSKEYDOWN:
            case WM_KEYUP:    
   case WM_SYSKEYUP: 
    fEatKeystroke = (p->vkCode == VK_LWIN) || (p->vkCode == VK_RWIN) ||  // 屏蔽Win
        // 屏蔽Alt+Tab
        ((p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0)) ||
        // 屏蔽Alt+Esc
        ((p->vkCode == VK_ESCAPE) && ((p->flags & LLKHF_ALTDOWN) != 0)) ||
        // 屏蔽Ctrl+Esc
        ((p->vkCode == VK_ESCAPE) && ((GetKeyState(VK_CONTROL) & 0x8000) != 0));
    break;
   default:
    break;
      }
 }

  return (fEatKeystroke ? TRUE : CallNextHookEx(glhHook,nCode,wParam,lParam));
}

安装及卸载钩子:

void _stdcall StartKeyMask()
{
 // 安装钩子
 glhHook = SetWindowsHookEx(WH_KEYBOARD_LL,LowLevelKeyboardProc,glhInstance,0);
}

void _stdcall StopKeyMask()
{
 // 卸载钩子
 if (glhHook!=NULL)
  UnhookWindowsHookEx(glhHook);
}

低级键盘钩子屏蔽Win键、Alt+Tab键的响应

低级键盘钩子屏蔽Win键、Alt+Tab键的响应   如果你是基于Windows操作系统做系统集成的,你可能希望你的最终产品独占系统资源。你希望规范用户行为,比如你不希望用户通过按Ctrl+Alt+D...
  • fanhaili
  • fanhaili
  • 2005年01月31日 18:34
  • 2873

进程防杀与屏蔽WIN 、alt+tab、ctrl+esc等键的方法

//DLL文件//GHook.cpp#define _WIN32_WINNT 0x0400#include #include "HookAPI.h"#include typedef HANDLE (_...
  • cyrx2003
  • cyrx2003
  • 2007年08月23日 23:12
  • 1198

一个很简短的屏蔽(不是卸载)低级键盘钩子的程序及解释

今天遇到了一个程序,运行时自动
  • zgw071415
  • zgw071415
  • 2014年06月11日 22:53
  • 1257

基于低级键盘钩子的dota改键(全局+免DLL注入)MFC实现(源码+总结)

上一篇文章已经写了基于 普通键盘钩子(单线程+DLL)来实现dota改键。http://blog.csdn.net/a576323437/article/details/8037138 这一次,基于...
  • a576323437
  • a576323437
  • 2012年10月03日 11:45
  • 2924

低级键盘钩子资料

天天上班很无聊,就是拿CAD制图,很无聊啊,还不能看点自己想看的东西(电子书),公司领导都象幽灵一样的会飘到你背后!!!!所以写了这么个程序,让软件从文件中读入数据并写入CAD的标题(领导站着看不到屏...
  • simon7in
  • simon7in
  • 2011年03月15日 11:33
  • 1579

屏蔽Windows98/2000/XP任务栏、win键、Ctrl+Esc、Alt+Tab、Ctrl+Alt+Del

2004年10月21日 16:28:00 关于这方面的文章挺多,对任务栏、win键、Ctrl+Esc、Alt+Tab的屏蔽,一般方法较为简单,最多用底层键盘钩子+DLL就能完美解决。但是针对Ctrl+...
  • softart
  • softart
  • 2007年10月27日 12:02
  • 471

屏蔽Windows98/2000/XP任务栏、win键、Ctrl+Esc、Alt+Tab、Ctrl+Alt+Del

关于这方面的文章挺多,对任务栏、win键、Ctrl+Esc、Alt+Tab的屏蔽,一般方法较为简单,最多用底层键盘钩子+DLL就能完美解决。但是针对Ctrl+Alt+Del的屏蔽,方法基本有两种,一种...
  • yuer888
  • yuer888
  • 2007年01月04日 14:03
  • 1470

屏蔽Windows98/2000/XP任务栏、win键、Ctrl+Esc、Alt+Tab、Ctrl+Alt+Del

关于这方面的文章挺多,对任务栏、win键、Ctrl+Esc、Alt+Tab的屏蔽,一般方法较为简单,最多用底层键盘钩子+DLL就能完美解决。但是针对Ctrl+Alt+Del的屏蔽,方法基本有两种,一种...
  • yefanqiu
  • yefanqiu
  • 2004年10月21日 16:28
  • 10854

利用底层键盘钩子屏蔽任意按键

很多人都知道,如果想在系统范围内屏蔽键盘上的任意按键需要使用全局键盘钩子,然而像win键这样“倔强”的按键又不是普通的键盘钩子就能搞定的。这里我提供一种利用底层键盘钩子屏蔽任意按键(包括win键)的方...
  • chinawash
  • chinawash
  • 2006年11月24日 21:30
  • 2676

全局低级键盘钩子

/*======================================================================== 文件: kbevent.h 说明:全局消息钩子...
  • liang888113
  • liang888113
  • 2011年10月13日 13:56
  • 1710
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:屏蔽WIN、ALT+TAB、CTRL+ESC键的低级键盘钩子
举报原因:
原因补充:

(最多只允许输入30个字)