Caps/Num/Scroll Lock индикаторы
От: Alexander  
Дата: 23.03.02 17:38
Оценка:
Привет.
Подскажите как програмно "зажечь"/"потушить" сабж. Я в МСДН нашел пример, но он почему-то не совсем так, как надо работает (я его немного переписал: в оригинале — для НумЛока, но там упоминалось что-то об особенностях его переключения под Вин98):

#include <windows.h>

void SetCapsLock( BOOL bState ) {
    BYTE keyState[256];
    GetKeyboardState((LPBYTE)&keyState);
    if((bState && !(keyState[VK_CAPITAL] & 1)) || (!bState && (keyState[VK_CAPITAL] & 1))) {
        // Simulate a key press
        keybd_event( VK_CAPITAL, 0x3a, KEYEVENTF_EXTENDEDKEY | 0, 0 );
        // Simulate a key release
        keybd_event( VK_CAPITAL, 0x3a, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
    }
    GetKeyboardState((LPBYTE)&keyState);
}

void main() {
    SetCapsLock( TRUE );
}


With best regards,
Alexander.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.