Cómo deshabilitar el cambio en las plataformas Win32 de tarea

Seleccione idioma Seleccione idioma
Id. de artículo: 226359 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se describe cómo deshabilitar la conmutación de tareas y otras funciones de sistema tiene acceso mediante combinaciones de teclas como CTRL+ESC y ALT+TAB en plataformas Win32.

Windows 95 y Windows 98

Las aplicaciones pueden habilitar y deshabilitando ALT+TAB y CTRL+ESC, por ejemplo, llamar a SystemParametersInfo (SPI_SETSCREENSAVERRUNNING). Para deshabilitar ALT+TAB y CTRL+ESC, establezca el parámetro uiParam en TRUE ; para habilitar las combinaciones de teclas, establezca el parámetro a FALSE :
UINT nPreviousState;

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

// Enables task switching
SystemParametersInfo (SPI_SETSCREENSAVERRUNNING, FALSE, &nPreviousState, 0);
				
deben habilitar aplicaciones de la Nota que utilizar SystemParametersInfo (SPI_SETSCREENSAVERRUNNING) para deshabilitar el cambio de tarea tarea cambiar antes de salir o tarea cambiar permanece deshabilitado después de que el proceso finalice.

Windows NT 4.0 Service Pack 3 y posterior y Windows 2000

Las aplicaciones pueden deshabilitar ALT+TAB o CTRL+ESC instalando un enlace de teclado de bajo nivel. Un enlace de teclado de bajo nivel (WH_KEYBOARD_LL) se instala mediante una llamada a SetWindowsHookEx. Para obtener más información en la ventana enlaces, vea la introducción de "Enlaces" en la documentación de Platform SDK.

El siguiente es un procedimiento de enlace de teclado de bajo nivel de ejemplo que deshabilita CTRL+ESC, ALT+TAB y ALT+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);
}
				

Windows NT 4.0 Service Pack 2 y versiones anterior, Windows NT 3.51 y anterior

Las aplicaciones pueden deshabilitar CTRL+ESC todo el sistema reemplazando el Administrador de tareas de Windows NT, pero esto no es recomendable.

Las aplicaciones pueden deshabilitar ALT+TAB y ALT+ESC cuando se ejecuta la aplicación registrando métodos abreviados de teclas ALT+TAB y ALT+ESC combinaciones mediante una llamada a RegisterHotKey.

Más información

Herramientas de desarrollo anteriores, como Visual C++ versión 5.0 y anteriores, pueden no contener los archivos de encabezado necesarios para crear una aplicación que utiliza enlaces de teclado de bajo nivel. Para obtener los archivos de encabezado más recientes, descargue el SDK más reciente desde el siguiente sitio Web:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
Puesto que los enlaces de teclado de bajo nivel son una característica específica de Windows NT 4.0 Service Pack 3 y posterior, definir _WIN32_WINNT > = 0 x 0400 antes a incluidas winuser.h (o en windows.h).

Propiedades

Id. de artículo: 226359 - Última revisión: martes, 21 de noviembre de 2006 - Versión: 4.3
La información de este artículo se refiere a:
  • Microsoft Win32 Application Programming Interface sobre las siguientes 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
Palabras clave: 
kbmt kbhook kbhowto kbinput KB226359 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 226359

Enviar comentarios

 

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