Suvestinė

"Setklavišardstate" dokumentacijoje () teisingai sakoma, kad negalite naudoti šio API, kad perjungtumėte NUM LOCK, CAPS LOCK ir SCROLL LOCK klavišus. Galite naudoti keybd_event (), kad perjungtumėte NUM LOCK, CAPS LOCK ir SCROLL LOCK raktus po "Windows NT". Tas pats būdas tinka didžiųjų raidžių užraktai ir slinkties užraktai pagal "Windows" 95, bet neveiks NUM LOCK.

Daugiau informacijos

Toliau pateiktas programos pavyzdys paverčia NUM LOCK Light, jei ji išjungta. Čia aprašyta funkcija SetNumLock modeliuoja klavišą NUM LOCK, naudojant keybd_event () su virtualiu VK_NUMLOCK. Reikia Bulio logikos reikšmės, nurodanti, ar šviesa turi būti išjungta (neteisinga), ar įjungta (TRUE). Tą patį būdą galima naudoti "CAPS LOCK" klavišui (VK_CAPITAL) ir slinkties užrakto klavišui (VK_SCROLL).

Kodo pavyzdys

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

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?

Dėkojame už jūsų atsiliepimus!

×