Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delphi 2010 virtual keyboard, start with CapsLock on?

Delphi 2010 Enterprise

How can I automatically turn the CapsLock on when the virtual keyboard is displayed.

like image 385
Donald Adams Avatar asked Feb 14 '11 04:02

Donald Adams


1 Answers

Try this on your FormCreate:

procedure TForm1.FormCreate(Sender: TObject);
var
  MyKeys: array of tagInput;
begin
  setLength(MyKeys, 2);
  MyKeys[0].Itype:=INPUT_KEYBOARD;
  MyKeys[0].ki.wVk:=VK_CAPITAL;
  MyKeys[0].ki.wScan:=0;
  MyKeys[0].ki.dwFlags:=4;
  MyKeys[0].ki.time:=0;
  MyKeys[0].ki.dwExtraInfo:=0;

  MyKeys[1].Itype:=INPUT_KEYBOARD;
  MyKeys[1].ki.wVk:=VK_CAPITAL;
  MyKeys[1].ki.wScan:=0;
  MyKeys[1].ki.dwFlags:=4+2;
  MyKeys[1].ki.time:=0;
  MyKeys[1].ki.dwExtraInfo:=0;
  SendInput(2, MyKeys[0], sizeof(tagInput));
end;

You can find more info on msdn

like image 200
CloudyMarble Avatar answered Sep 19 '22 21:09

CloudyMarble