Como desactivar a tarefa mudança em plataformas de Win32

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
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 switchingSystemParametersInfo (SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0);// Enables task switchingSystemParametersInfo (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: 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).
SystemParametersInfo SetWindowsHookEx Hooks SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING WH_KEYBOARD_LL

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 226359 - Última Revisão: 11/21/2006 15:44:45 - Revisão: 4.3

Microsoft Win32 Application Programming Interface

  • kbmt kbhook kbhowto kbinput KB226359 KbMtpt
Comentários