Kokkuvõte

SetKeyboardState () dokumentatsioonis on õigesti öeldud, et te ei saa kasutada seda API-d, et lülitada välja NUM LOCK, CAPS LOCK ja SCROLL LOCK võtmed. Saate kasutada keybd_event () funktsiooni NUM LOCK, CAPS LOCK ja SCROLL LOCK (Windows NT) aktiveerimiseks. Sama meetod töötab lülitamine CAPS LOCK ja SCROLL LOCK all Windows 95, kuid see ei tööta NUM LOCK.

Lisateave

Kui see on välja lülitatud, muutub Järgmine näidis "NUM LOCK Light". Siin määratletud funktsioon SetNumLock simuleerib klahvi NUM LOCK vajutamist, kasutades keybd_event () VK_NUMLOCK virtuaalset võtit. See võtab ette loogikaväärtus, mis näitab, kas valgus tuleks välja lülitada (FALSE) või (TRUE). Sama tehnikat saab kasutada ka CAPS LOCK (VK_CAPITAL) ja SCROLL LOCK (VK_SCROLL).

Proovi kood

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

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?

Täname tagasiside eest!

×