Hook按键消息修改

来源:互联网 发布:纹绣师上门软件 编辑:程序博客网 时间:2024/04/29 21:11

    Asus(不知道这样写会不会被封杀)笔记本的backspace键让我敲坏了两年了,这两年一直在背着个外接键盘到处跑,

一副很拉风的样子····我想想个办法,用钩子函数将Home的按键消息的按键值修改成backspace的按键值。。。

    听说过hook,但是一直对它有畏惧心理,没敢学。自从吃了哈尔滨六场出产的高钙片,我的畏惧心理就没有了,这一周下班没事就回家看hook。windows的消息处理机制还不是太懂,下了几个程序,比照着看,慢慢在研究windows消息处理机制

下面说正题:

     windows的hook有10几种消息,按键消息和鼠标消息只能监听到消息,但是不能修改消息,网上资料说wm_getmessage可以修改消息,回调函数如下,功能是将a键转换为b键,但是没有效果(注明:是全局钩子)


LRESULT CALLBACK HookProc(int nCode,WPARAM wParam,LPARAM lParam)
{
    MSG *pMsg=(MSG*)lParam;
    if(HC_ACTION == nCode)
    {
   
         if(pMsg->message == WM_KEYDOWN || pMsg->message == WM_KEYUP)
         {
            if('a' == pMsg->wParam)
            {
                pMsg->wParam = 'b';
                          }
         }
    
    }
     LRESULT RetVal = CallNextHookEx( hhkHook, nCode, wParam, lParam );
     return RetVal;

}


等解决问题之后再发源代码:

 

 

原创粉丝点击