C++ WIN API / Как установить хук SetWindowsHookExW в отдельном detach потоке?

Хук SetWindowsHookExW(WH_KEYBOARD_LL,.. ставится только в главном потоке..

Вопрос: Как установить его в отдельном потоке? Например, такой код не работает:

std::thread t1([](){ HHOOK hookKeybd = SetWindowsHookExW(WH_KEYBOARD_LL, .. });
t1.detach();

Пробовал hookKeybd делать статической и глобальной . интерсно то, что так можно убирать хук в потоке.. Но вот его установка почему-то не работает..

Что не так? Может можно написать глобальную функцию и как-то вызвать ее через поток в контексте основного scope?

Или.. Какие еще есть варианты?

P.S. нужно в отдельном потоке ставить и убирать хук..


Ответы (0 шт):