如何在代碼中屏蔽alt+tab組合鍵

#include <windows.h>


HHOOK g_hKeyBoard;


//底層鍵盤系統調用,過濾alt + tab

LRESULT CALLBACK KeyBoardProc(int code, WPARAM wParam, LPARAM lParam)

{

if (code == HC_ACTION)

{

PKBDLLHOOKSTRUCT p;


switch (wParam)

{

case WM_KEYDOWN:

case WM_SYSKEYDOWN:

case WM_KEYUP:

case WM_SYSKEYUP:

p = (PKBDLLHOOKSTRUCT)lParam;


if ((p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0) ) 

{

return 1;

}


break;

}


}


return ::CallNextHookEx(g_hKeyBoard, code, wParam, lParam);

}

//註冊全局hook

void SetHook()

{

g_hKeyBoard = SetWindowsHookEx(WH_KEYBOARD_LL, KeyBoardProc, GetModuleHandle(L"Hook"), 0);


}


//註銷全局hook

void UnSetHook()

{

if (g_hKeyBoard)

UnhookWindowsHookEx(g_hKeyBoard);

g_hKeyBoard = NULL;

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章