您的位置:首页 > 编程语言 > C语言/C++

学习VC++深入浅出——钩子的使用

2008-03-19 23:35 375 查看
 学习VC++深入浅出——钩子的使用


HHOOK g_hMouse = NULL;


HHOOK g_hKeyboard = NULL;


HWND g_hWnd = NULL;




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




...{


    return 1;


}




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




...{


    //if(VK_SPACE == wParam)




/**//*    if(VK_F4 == wParam && (1==(lParam>>29 & 1)))


        return 1;


    else


        return CallNextHookEx(g_hKeyboard,nCode,wParam,lParam);*/


    if(VK_F2 == wParam)




    ...{


        ::SendMessage(g_hWnd,WM_CLOSE,0,0);


        UnhookWindowsHookEx(g_hKeyboard);


        UnhookWindowsHookEx(g_hMouse);


    }


    return 1;


}




BOOL CInnerHookDlg::OnInitDialog()




...{


        // TODO: Add extra initialization here


    g_hWnd = m_hWnd;


    g_hMouse = SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId());


    g_hKeyboard =SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,NULL,GetCurrentThreadId());




    return TRUE;  // return TRUE  unless you set the focus to a control


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vc++ null keyboard