Contributor: RICK WHEAT { Greetings, Folks! Here's a small routine you might find useful. I'm using it to automatically turn on Num Lock for users of a small billing system here at the Home. } procedure TFrmMain.SetNumlockTrue(Sender: TObject); var CurrentState : Integer; KeyState : TKeyBoardState; begin CurrentState := GetKeyState(vk_numlock); GetKeyboardState(KeyState); If CurrentState = 0 then begin KeyState[vk_numlock] := 1; SetKeyboardState(KeyState); end; end;