CapsLock を強制的に ON にする関数は以下のとおり.
2回呼び出すと OFF になる.
void OnOffCapsLock(void)
{
BYTE byKeyState[256];
static BYTE byLockSave;
static BOOL fLock = FALSE;
GetKeyboardState(byKeyState);
if( !fLock ) {
byLockSave = byKeyState[VK_CAPITAL];
byKeyState[VK_CAPITAL] |= 0x01;
fLock = TRUE;
} else {
byKeyState[VK_CAPITAL] = byLockSave;
fLock= FALSE;
}
SetKeyboardState(byKeyState);
}
VK_CAPITAL を VK_NUMLOCK にすれば NumLock の制御が行える.
参照