如何阻塞全局键盘钩子,使在exe中一直执行

写了一个全局键盘钩子,SetWindowsHookEx后执行另一串代码
发现SetWindowsHookEx就失灵了,而且如果我再次使用键盘,电脑会卡一下,应该是系统在等待CallNextHookEx,

不过我只要在SetWindowsHookEx后添加一个messageBox就又可以执行回调函数了(指能cout到控制台窗口)
我看网上说要动态链接库,我想着太麻烦了,弄个多线程再阻塞一下就可以了,请问该如何阻塞呢?

int main()
{
    HINSTANCE hinstExe = GetModuleHandle(NULL);

    HHOOK hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL,
    LowLevelKeyboardProc, hinstExe, 0);
    
    while(1){  //到这里后上方就失灵了
        cout << "输出" << endl;
        Sleep(1000);
    }    
    UnhookWindowsHookEx(hhkLowLevelKybd);
}