Como desactivar a tarefa mudança em plataformas de Win32

Traduções de Artigos Traduções de Artigos
Artigo: 226359 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve como desactivar a mudança de tarefa e outras funções de sistema acedidas através de combinações de teclas, tais como CTRL+ESC e ALT + tabulação em plataformas de Win32.

O Windows 95 e Windows 98

As aplicações podem activar e desactivar ALT+TAB e CTRL+ESC, por exemplo, chamando SystemParametersInfo (SPI_SETSCREENSAVERRUNNING). Para desactivar ALT+TAB e CTRL+ESC, defina o parâmetro uiParam Verdadeiro ; para activar as combinações de teclas, defina o parâmetro como FALSE :
UINT nPreviousState;

// Disables task switching
SystemParametersInfo (SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0);

// Enables task switching
SystemParametersInfo (SPI_SETSCREENSAVERRUNNING, FALSE, &nPreviousState, 0);
				
aplicações Nota que utilize SystemParametersInfo (SPI_SETSCREENSAVERRUNNING) para desactivar a mudança de tarefa deverá activar mudar antes de sair de tarefas ou tarefas mudar permanece desactivado após o processo termina.

O Windows NT 4.0 Service Pack 3 e versões posterior e no Windows 2000

As aplicações podem desactivar ALT+TAB ou CTRL+ESC instalando uma rotina de teclado de baixo nível. Uma rotina de baixo nível teclado (WH_KEYBOARD_LL) é instalada através da chamada SetWindowsHookEx. Para mais informações sobre rotinas de janela consulte a descrição geral "Hooks" na documentação do Platform SDK.

Segue-se um procedimento de rotina de teclado de baixo nível exemplo desactiva ALT + ESC, ALT+TAB e CTRL+ESC:
LRESULT CALLBACK LowLevelKeyboardProc (INT nCode, WPARAM wParam, LPARAM lParam)
{
    // By returning a non-zero value from the hook procedure, the
    // message does not get passed to the target window
    KBDLLHOOKSTRUCT *pkbhs = (KBDLLHOOKSTRUCT *) lParam;
    BOOL bControlKeyDown = 0;

    switch (nCode)
    {
        case HC_ACTION:
        {
            // Check to see if the CTRL key is pressed
            bControlKeyDown = GetAsyncKeyState (VK_CONTROL) >> ((sizeof(SHORT) * 8) - 1);
            
            // Disable CTRL+ESC
            if (pkbhs->vkCode == VK_ESCAPE && bControlKeyDown)
                return 1;

            // Disable ALT+TAB
            if (pkbhs->vkCode == VK_TAB && pkbhs->flags & LLKHF_ALTDOWN)
                return 1;

            // Disable ALT+ESC
            if (pkbhs->vkCode == VK_ESCAPE && pkbhs->flags & LLKHF_ALTDOWN)
                return 1;

            break;
        }

        default:
            break;
    }
    return CallNextHookEx (hHook, nCode, wParam, lParam);
}
				

O Windows NT 4.0 Service Pack 2 e anterior, Windows NT 3.51 e anteriores

As aplicações podem desactivar CTRL+ESC todo o sistema, substituindo o Gestor de tarefas do Windows NT, mas este não é recomendado.

As aplicações podem desactivar ALT+TAB e ALT + ESC quando a aplicação está em execução registando teclas de atalho para o ALT+TAB e combinações de ALT + ESC chamando RegisterHotKey.

Mais Informação

Ferramentas de desenvolvimento mais antigas, tais como Microsoft Visual C++ versão 5.0 e versões anteriores, podem não conter os ficheiros de cabeçalho necessários para criar uma aplicação que utiliza rotinas de teclado de baixo nível. Para obter os ficheiros de cabeçalho mais recentes, transfira o Platform SDK mais recente a partir do seguinte Web site da Microsoft:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
Uma vez que rotinas de baixo nível de teclado são uma funcionalidade específica para o Windows NT 4.0 Service Pack 3 e posterior, definir _WIN32_WINNT > = 0x0400 antes para incluindo winuser.h (ou windows.h).

Propriedades

Artigo: 226359 - Última revisão: 21 de novembro de 2006 - Revisão: 4.3
A informação contida neste artigo aplica-se a:
  • Microsoft Win32 Application Programming Interface nas seguintes plataformas
    • the operating system: Microsoft Windows XP
    • the operating system: Microsoft Windows 2000
    • Microsoft Windows NT 4.0
    • Microsoft Windows NT 3.51 Service Pack 5
    • Microsoft Windows Millennium Edition
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows 95
Palavras-chave: 
kbmt kbhook kbhowto kbinput KB226359 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 226359

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com