ALT+TAB을 막는코드에 대해서 설명하겠다. 처음에 작성한 코드는 MSDN 보고 Copy & Paste 하고 윈도우 2000에서는 문제없이 작동한다. 윈도우즈 98에서도 문제없이 될줄알았는데 윈도우즈 모드에서만 되고 진작 원하는 풀스크린 모드에서는 동작안하는 것이다.

윈도우즈 98에서 사용한 문제의 코드이다.

void DisableTaskSwitching()
{
        UINT nPreviousState = 0;                
        BOOL bRet = SystemParametersInfoA(SPI_SETFASTTASKSWITCH, TRUE, &nPreviousState, 0);
        bRet = SystemParametersInfoA(SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0);
}

윈도우즈 2000에서는 WH_KEYBOARD_LL 메시지 훅을 사용한다.

윈도우즈 98에서도 WH_KEYBOARD 메시지 훅을 사용하면 풀 스크린 모드에서 ALT+TAB을 막을 수 있다.

다음은 완성된 코드이다. KeyboardProc () 함수에서 리턴값은 꼭 1이어야 한다.

프로그램 시작할 때 DisableTaskSwitching()불러주고 끝날 때, EnableTaskSwitching()를 불러주면 된다.