Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Обобщена информация

Документацията за SetKeyboardState () правилно казва, че не можете да използвате този API, за да превключвате NUM LOCK, CAPS LOCK и SCROLL LOCK Keys. Можете да използвате keybd_event (), за да превключвате NUM LOCK, CAPS LOCK и SCROLL LOCK ключове под Windows NT. Същата техника работи за превключване на CAPS LOCK и SCROLL LOCK под Windows 95, но няма да работи за NUM LOCK.

Повече информация

Следната Примерна програма включва индикатора за NUM LOCK, ако е изключен. Функцията SetNumLock, дефинирана тук, симулира натискането на клавиша NUM LOCK, като използва keybd_event () с виртуален ключ на VK_NUMLOCK. Необходим е булева стойност, която указва дали светлината трябва да бъде изключена (FALSE), или на (TRUE). Същата техника може да се използва за клавиш CAPS LOCK (VK_CAPITAL) и клавиша SCROLL LOCK (VK_SCROLL).

Примерен код

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

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×