HOWTO: preklopni tipku NUM LOCK, CAPS LOCK i SCROLL LOCK

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

Proširite svoje vještine
Istražite osposobljavanje
Prvi koristite nove značajke
Pridružite se Microsoft Insidere

Jesu li ove informacije bile korisne?

Koliko ste zadovoljni kvalitetom prijevoda?

Što je utjecalo na vaše iskustvo?

Imate li još povratnih informacija? (Neobavezno)

Hvala vam na povratnim informacijama!

×