Виртуальная клавиатура Delphi 2010, начать с CapsLock? - PullRequest
5 голосов
/ 14 февраля 2011

Delphi 2010 Enterprise

Как автоматически включить CapsLock при отображении виртуальной клавиатуры.

1 Ответ

6 голосов
/ 14 февраля 2011

Попробуйте это в 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;

Вы можете найти больше информации о msdn

...