zoukankan      html  css  js  c++  java
  • MFC屏蔽 WindowS按键

    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

  • 相关阅读:
    Alpha 答辩总结
    Alpha 冲刺报告(10/10)
    Alpha 冲刺报告(9/10)
    Alpha 冲刺报告(8/10)
    Alpha 冲刺报告(7/10)
    Alpha 冲刺报告(6/10)
    团队作业-随堂小测(同学录)
    第一次寒假作业
    寒假学习计划
    1001 A+B
  • 原文地址:https://www.cnblogs.com/dengpeng1004/p/4781891.html
Copyright © 2011-2022 走看看