요약
SetKeyboardState () 설명서에는이 API를 사용 하 여 NUM LOCK, CAPS LOCK 및 SCROLL LOCK 키를 전환할 수 없다는 메시지가 표시 됩니다. Keybd_event ()를 사용 하 여 Windows NT에서 NUM LOCK, CAPS LOCK 및 SCROLL LOCK 키를 전환할 수 있습니다. Windows 95에서 CAPS LOCK 및 SCROLL LOCK/////////또는/또는//또는//또는/또는/또는/또는/또는/
추가 정보
다음 샘플 프로그램은 NUM LOCK 표시등이 꺼져 있는 경우이를 켭니다. 여기에 정의 된 SetNumLock 함수는 VK_NUMLOCK 가상 키를 사용 하 여 keybd_event ()를 사용 하 여 NUM LOCK 키를 시뮬레이트합니다. 이 메서드는 조명의 설정 (FALSE) 또는 on (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 ); }