CapsLock の状態を変更する
|
> ある入力コントロールにフォーカスが移った時に、CapsLockを
> プログラムにて On/Off することは出来ないでしょうか?
keybd_event で CAPS キーを押したことにしてあげれば良いです。この方法は、いろいろ応用がききそうです。
// CapsLock を Off にする場合
procedure TForm1.Edit1Enter(Sender: TObject);
begin
if GetKeyState(VK_CAPITAL) and 1 = 1 then begin
keybd_event(VK_CAPITAL, 0, 0, 0);
keybd_event(VK_CAPITAL, 0, KEYEVENTF_KEYUP, 0);
end;
end;
// CapsLock を On にする場合
procedure TForm1.Edit2Enter(Sender: TObject);
begin
if GetKeyState(VK_CAPITAL) and 1 <> 1 then begin
keybd_event(VK_CAPITAL, 0, 0, 0);
keybd_event(VK_CAPITAL, 0, KEYEVENTF_KEYUP, 0);
end;
end; |
|