Sažetak

Dokumentacija za SetKeyboardState () ispravno kaže da ne možete koristiti ovaj API da biste uključili prekidač NUM LOCK, CAPS LOCK i SCROLL LOCK. Keybd_event () možete koristiti za uključivanje prekidača NUM LOCK, CAPS LOCK i SCROLL LOCK u odjeljku Windows NT. Ista tehnika funkcionira i za preklapajući CAPS LOCK i SCROLL LOCK u sustavu Windows 95, ali neće funkcionirati za NUM LOCK.

Dodatne informacije

Sljedeći Ogledni program pretvara svjetlo NUM LOCK ako je isključeno. Funkcija SetNumLock definirana ovdje simulira pritiskom na tipku NUM LOCK, pomoću keybd_event () s virtualnim ključem VK_NUMLOCK. Potrebna je Booleova vrijednost koja upućuje na to je li svjetlo potrebno isključiti (FALSE) ili uključeno (istinito). Ista tehnika može se koristiti za tipku CAPS LOCK (VK_CAPITAL) i tipku SCROLL LOCK (VK_SCROLL).

Ogledni kod

   /* 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ć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.