编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 给我留言 | 
Windows2000平台下混合编程屏蔽键盘事件
        
【字体:
Windows2000平台下混合编程屏蔽键盘事件 进入问吧

本站地址:http://www.bajiao123.com

作者:admin    文章来源:本站    点击数:    更新时间:2007-4-9    
            SendMessage(hProcWnd,WM_USER+200,2000,0); //用于激活客户程序的自定义消息

                                }

        return(fEatKeystroke ? 1 : CallNextHookEx(NULL, nCode, wParam,

                lParam));

}

 

 

此处为捕获、屏蔽系统功能热键的回调函数,用户可根据需要添加修改需要屏蔽的按键。

//屏蔽Ctrl+Esc/Alt+Tab/Win/F1/Alt+Esc等功能按键------------------------------------------------------------------

LRESULT CALLBACK ShieldKeyProc(int nCode,WPARAM wParam,LPARAM lParam)

{

        bool fEatKeystroke = FALSE;

        //PKBDLLHOOKSTRUCT p = NULL;

        if (nCode == HC_ACTION)

                {

                switch (wParam) {

                case WM_KEYDOWN:  case WM_SYSKEYDOWN:

                case WM_KEYUP:    case WM_SYSKEYUP:

                        PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam;

                        fEatKeystroke =

                        (p->vkCode==VK_F1)||//F1

                        ((p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0))|| //Alt+Tab

                        ((p->vkCode == VK_ESCAPE) && ((p->flags & LLKHF_ALTDOWN) != 0)) || //Alt+Esc

                    ((p->vkCode == VK_ESCAPE) && ((GetKeyState(VK_CONTROL) & 0x8000) != 0)) || //Ctrl+Esc

                     (((GetKeyState(VK_CONTROL) & 0x8000) != 0) && (p->vkCode == VK_SPACE))|| //Ctrl+Space

          (((GetKeyState(VK_CONTROL) & 0x8000) != 0) && ((GetKeyState(VK_SHIFT) & 0x8000) != 0));

                        break;

                                }

                 }

     return(fEatKeystroke ? 1 : CallNextHookEx(NULL, nCode, wParam,

            lParam));

}                       

 

这个函数负责根据客户端调用参数,向系统注册、注销HOOK。HOOK必须在不要的时候卸载!

//HWND hWnd:客户端程序调用窗体的句柄,bool nCode:挂还是不挂HOOK的标志,bool bWhich:挂哪个HOOK的标志

char _stdcall ActivateKey(HWND hWnd,bool nCode,bool bWhich)

上一页  [1] [2] [3] [4] [5] [6] 下一页

   

进入问吧

Windows2000平台下混合编程屏蔽键盘事件

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
高级搜索
编程资料集中营