Delphi 2010 虚拟键盘,以CapsLock 开头?

Posted

技术标签:

【中文标题】Delphi 2010 虚拟键盘,以CapsLock 开头?【英文标题】:Delphi 2010 virtual keyboard, start with CapsLock on? 【发布时间】:2011-02-14 04:06:41 【问题描述】:

Delphi 2010 企业版

如何在显示虚拟键盘时自动打开 CapsLock。

【问题讨论】:

【参考方案1】:

在你的 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找到更多信息

【讨论】:

该代码按下大写锁定键。您可能想要添加另一个键盘事件来模拟按键的释放

以上是关于Delphi 2010 虚拟键盘,以CapsLock 开头?的主要内容,如果未能解决你的问题,请参考以下文章

Delphi XE6 Firemonkey Mobile - 如何禁用虚拟键盘?

如何使用 delphi 2010 将虚拟键发送到其他应用程序?

DCEF4 虚拟键盘未显示

Windows 全局键盘挂钩 - Delphi

Delphi中如何监视键盘输入

delphi7实现模拟键盘按键,比如按下v键,数字0,回车等