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

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.