C++窗口外获取键盘消息

如题,就像金山词霸一样,不管应用程序最小化还是位于其他窗口下面,我按一下F4
就能打开取词开关,再按一下关闭取词开关,这个用C++怎么实现呢?或者相关函数

HOOK编程,用钩子来监听键盘按键

hook windows API TExtOut等

SetWindowsHookExW & CallNextHookEx

SetWindowsHookExW(WH_KEYBOARD_LL, (HOOKPROC)HookKeyBoard, g_hInstance, 0);
LRESULT CALLBACK HookKeyBoard( int nCode,WPARAM wParam,LPARAM lParam )
{
 switch (nCode)
    {
    case HC_ACTION:
        {
            KBDLLHOOKSTRUCT* kHook = (KBDLLHOOKSTRUCT*)lParam;
            if (wParam == WM_KEYDOWN)
            {
                if (kHook->vkCode == VK_F4)
                {
                    //取词开关
                }
            }
        }

        break;
    }
    }