Come disattivare l'attività di commutazione su piattaforme Win32

Traduzione articoli Traduzione articoli
Identificativo articolo: 226359 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene descritto come disattivare il passaggio di task e altre funzioni di sistema a cui si accede tramite combinazioni di tasti CTRL + ESC e ALT + TAB su piattaforme Win32.

Windows 95 e Windows 98

Le applicazioni è possono abilitare e disabilitare ALT + TAB e CTRL + ESC, ad esempio, chiamando SystemParametersInfo (SPI_SETSCREENSAVERRUNNING). Per disattivare ALT + TAB e CTRL + ESC, impostare il parametro uiParam su TRUE; Per attivare le combinazioni di tasti, impostare il parametro su FALSE:
UINT nPreviousState;

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

// Enables task switching
SystemParametersInfo (SPI_SETSCREENSAVERRUNNING, FALSE, &nPreviousState, 0);
				
Nota. Le applicazioni che utilizzano SystemParametersInfo (SPI_SETSCREENSAVERRUNNING) per disattivare il passaggio di task devono attivare attività di commutazione prima di chiudere o rimane disattivato una volta terminato il processo di commutazione.

Windows NT 4.0 Service Pack 3 e versioni successive e Windows 2000

Le applicazioni è possono disabilitare ALT + TAB o CTRL + ESC installando un hook tastiera a basso livello. Un hook di basso livello tastiera (WH_KEYBOARD_LL) è stato installato chiamando SetWindowsHookEx. Per ulteriori informazioni su hook della finestra, vedere i cenni preliminari sulla "Hook" nella documentazione di Platform SDK.

Di seguito è l'esempio di routine di hook tastiera a basso livello che disattiva CTRL + ESC, ALT + TAB e CTRL + 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 e versioni precedenti, Windows NT 3.51 e versioni precedenti

Le applicazioni possono disattivare CTRL + ESC a livello di sistema sostituendo il Task Manager di Windows NT, ma questa operazione è sconsigliata.

Le applicazioni possono disattivare ALT + TAB e ALT + ESC quando l'applicazione viene eseguita registrando i tasti di scelta rapida per le combinazioni ALT + ESC + ALT + TAB mediante la chiamata a RegisterHotKey.

Informazioni

Strumenti di sviluppo precedenti, ad esempio Microsoft Visual C++ versione 5.0 e versioni precedenti, potrebbero non contenere i file di intestazione necessari per compilare un'applicazione che utilizza la tastiera a basso livello hook. Per ottenere i più recenti file di intestazione, scaricare la versione più recente di Platform SDK dal seguente sito Web Microsoft:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
Poiché gli hook di basso livello della tastiera sono una funzionalità specifica di Windows NT 4.0 Service Pack 3 e versioni successiva, definire _WIN32_WINNT > = 0x0400 prima di includere Winuser. h (o h).

Proprietà

Identificativo articolo: 226359 - Ultima modifica: lunedì 1 luglio 2013 - Revisione: 5.0
Le informazioni in questo articolo si applicano a:
  • Microsoft Win32 Application Programming Interface alle seguenti piattaforme
    • Microsoft Windows Millennium Edition
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows 95
Chiavi: 
kbhook kbhowto kbInput kbmt KB226359 KbMtit
Traduzione automatica articoli
IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l?obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 226359
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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