HOWTO: Uključivanje/isključivanje tastera NUM LOCK, CAPS LOCK i SCROLL LOCK

Rezime

Dokumentacija stanja za Setkejstate () ispravno kaže da ne možete da koristite ovaj API za uključivanje preklopnih tastera NUM LOCK, CAPS LOCK i SCROLL LOCK. Možete da koristite keybd_event () da biste preklopili tastere NUM LOCK, CAPS LOCK i SCROLL LOCK u okviru programa Windows NT. Ista tehnika funkcioniše za preklopne tastere CAPS LOCK i SCROLL LOCK u okviru operativnog sistema Windows 95, ali neće raditi za NUM LOCK.

Više informacija

Sledeći probni program uključuje svetlo NUM LOCK ako je isključen. Funkcija SetNumLock definisana ovde simulira pritisak na taster NUM LOCK, koristeći keybd_event () sa virtuelnim ključem VK_NUMLOCK. Potrebna je logička vrednost koja označava da li bi svetlost trebalo da bude isključena (FALSE) ili uključena (TRUE). Ista tehnika može se koristiti za taster CAPS LOCK (VK_CAPITAL) i taster SCROLL LOCK (VK_SCROLL).

Uzorak koda

   /* 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 );   }

Potrebna vam je dodatna pomoć?

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Microsoft insajdere

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×