class Hook
{
public:
Hook(){}
~Hook(){}
public:
void unInstallHook();
void installHook();
};
------------- ------------
#include
#include
#pragma comment(lib, "User32.lib")
static HHOOK keyHook=nullptr;
LRESULT CALLBACK keyProc(int nCode,WPARAM wParam,LPARAM lParam)
{
KBDLLHOOKSTRUCT *pkbhs=(KBDLLHOOKSTRUCT*)lParam;
if(nCode == HC_ACTION){
//qDebug()<vkCode;
return 1;// 1 , 0 ,
}
return CallNextHookEx(keyHook, nCode, wParam, lParam);
}
void Hook::unInstallHook()
{
if(keyHook!=nullptr)
{
UnhookWindowsHookEx(keyHook);//
keyHook=nullptr;
}
}
void Hook::installHook()
{
keyHook = ::SetWindowsHookEx( WH_KEYBOARD_LL,keyProc,nullptr,0);
}