Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Rezumat

Documentația pentru SetKeyboardState () spune corect că nu puteți utiliza acest API pentru a comuta tastele NUM LOCK, CAPS LOCK și SCROLL LOCK. Puteți utiliza keybd_event () pentru a comuta tastele NUM LOCK, CAPS LOCK și SCROLL LOCK sub Windows NT. Aceeași tehnică funcționează pentru basculând CAPS LOCK și SCROLL LOCK sub Windows 95, dar nu va funcționa pentru NUM LOCK.

Mai multe informații

Următorul exemplu de program transformă tasta NUM LOCK aprinsă dacă este dezactivată. Funcția SetNumLock definită aici simulează apăsarea tastei NUM LOCK, utilizând keybd_event () cu o cheie virtuală de VK_NUMLOCK. Este nevoie de o valoare booleană care indică dacă lumina trebuie dezactivată (FALSE) sau activată (TRUE). Aceeași tehnică poate fi utilizată pentru tasta CAPS LOCK (VK_CAPITAL) și tasta SCROLL LOCK (VK_SCROLL).

Exemplu de cod

   /* Compile options needed:   */    #include <windows.h>   void SetNumLock( BOOL bState )   {      BYTE keyState[256];      GetKeyboardState((LPBYTE)&keyState);      if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||          (!bState && (keyState[VK_NUMLOCK] & 1)) )      {      // Simulate a key press         keybd_event( VK_NUMLOCK,                      0x45,                      KEYEVENTF_EXTENDEDKEY | 0,                      0 );      // Simulate a key release         keybd_event( VK_NUMLOCK,                      0x45,                      KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,                      0);      }   }   void main()   {      SetNumLock( TRUE );   }

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×