お疲れ様です。
どのようなことを行いたいのかはよくわかりませんが
APIでCaps Lockを強制的にOnにすることは出来ると思います。
以下の例は、フォームが起動する時に現在のCaps Lockの
値を見てOff状態なら強制的にOnにしています。
これに似たものを GotFocus イベントに入れると初期設定
のように見えるのではないでしょうか?
Option Explicit
'// API
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal BScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
Private Const VK_CAPITAL = &H14
Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Const KEYEVENTF_KEYUP = &H2
Private Sub Form_Load()
Dim keys(0 To 255) As Byte
'// Get KeyboardState
GetKeyboardState keys(0)
'// Caps Lock の状態を判断
If Not CBool(keys(VK_CAPITAL)) Then
'// Caps Lock が点灯していない
'// Caps Key を押したことにする
keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0
'// Caps Key を離したことにする
keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
Else
'// Caps Lock が点灯している
'// 何もしない
End If
End Sub
間違っていたらごめんなさい。