Ako zakázať úloha přepnutí na Win32 platformách

Preklady článku Preklady článku
ID článku: 226359 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok popisuje, ako vypnúť prepínanie úloh a inými funkciami systému prístupné prostredníctvom kombinácie klávesov, napríklad CTRL + ESC a ALT + TAB na Win32 platformách.

Windows 95 a Windows 98

Žiadosti môžete zapnúť a vypnúť ALT + TAB alebo CTRL + ESC, napríklad telefonicky SystemParametersInfo (SPI_SETSCREENSAVERRUNNING). Ak chcete vypnúť ALT + TAB alebo CTRL + ESC, nastavte uiParam parameter na PRAVDA; chcete zapnúť kombinácie klávesov, nastavte parameter na NEPRAVDIVÉ:
UINT nPreviousState;

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

// Enables task switching
SystemParametersInfo (SPI_SETSCREENSAVERRUNNING, FALSE, &nPreviousState, 0);
				
Poznámka: Aplikácie, ktoré používajú SystemParametersInfo (SPI_SETSCREENSAVERRUNNING) vypnúť prepínanie úloh musí umožniť úloha přepnutí pred zatvorením alebo úloha přepnutí zostáva po proces ukončí.

Systém Windows NT 4.0 Service Pack 3 a novší a Windows 2000

Žiadosti môžete vypnúť ALT + TAB alebo CTRL + ESC nainštalovaním low-level klávesnice háčik. Nízkoúrovňový klávesnice háčik (WH_KEYBOARD_LL) je nainštalovaný volaním SetWindowsHookEx. Ďalšie informácie o okne háčikov zobraziť prehľad "Háky" v dokumentácii Platform SDK.

Toto je postup háku vzorky low-level klávesnice, ktoré zakáže CTRL + ESC, ALT + TAB a 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);
}
				

Systém Windows NT 4.0 Service Pack 2 a staršie, Windows NT 3.51 a staršie

Žiadosti môžete vypnúť CTRL + ESC systém-široký nahradením Správca úloh systému Windows NT, ale to sa neodporúča.

Žiadosti môžete vypnúť ALT + TAB alebo ALT + ESC, keď aplikácia je spustená registráciou klávesy ALT + TAB a kombinácie ALT + ESC volaním RegisterHotKey.

DALSIE INFORMACIE

Staršie vývojové nástroje, ako napríklad Microsoft Visual C++ verzie 5.0 a skôr, nemusia obsahovať hlavičkové súbory potrebné na vybudovanie aplikácie, ktorá používa low-level klávesové háčkov. Získať najnovšie súbory hlavičky, prevezmite najnovšie Platform SDK z nasledujúcej webovej lokalite spoločnosti Microsoft:
http://www.Microsoft.com/msdownload/platformsdk/sdkupdate/psdk-Full.htm
Pretože low-level klávesové háčkov sú funkcie špecifické pre systém Windows NT 4.0 Service Pack 3 a novší, definovať _WIN32_WINNT > = 0x0400 pred na vrátane súbore winuser.h (alebo windows.h).

Vlastnosti

ID článku: 226359 - Posledná kontrola: 21. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Win32 Application Programming Interface, pri použití s produktom:
    • Microsoft Windows Millennium Edition
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows 95
Kľúčové slová: 
kbhook kbhowto kbinput kbmt KB226359 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:226359

Odošlite odozvu

 

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