键盘状态.txt

来自「大量Delphi开发资料」· 文本 代码 · 共 56 行

TXT
56
字号
可以调用Win API的Getkeyboardstate()函数。 
常量 按键名称 
VK_INSERTI nsert键 
VK_NUMLOCK Num Lock键 
VK_CAPITAL Caps Lock键 
VK_SCROLL Scroll Lock键 
键盘缓冲区每一位都有一位特定的格式,对于状态键来说,最低位是1时表示状态键处于ON状态,你可以使用odd()函数来确定这一位的状态,以下是一个简单的例子请参考。例子中放置一个Timer控件、一个StayusBar1状态条。 
unit Unit1; 

interface 

uses 
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 
ExtCtrls, ComCtrls; 

type 
TForm1 = class(TForm) 
StatusBar1: TStatusBar; 
Timer1: TTimer; 
procedure Timer1Timer(Sender: TObject); 
private 
{ Private declarations } 
public 
{ Public declarations } 
end; 

var 
Form1: TForm1; 

implementation 

{$R *.DFM} 

procedure TForm1.Timer1Timer(Sender: TObject); 
var ks:tkeyboardstate; 
begin 
getkeyboardstate(ks);//检测键盘函数 
if odd(ks[VK_NUMLOCK]) then 
statusbar1.panels.items[0].text:='NUM' 
else 
statusbar1.panels.items[0].text:=''; 
if odd(ks[VK_INSERT]) then 
statusbar1.panels.items[1].text:='INSERT' 
else 
statusbar1.panels.items[1].text:=''; 
if odd(ks[VK_CAPITAL]) then 
statusbar1.panels.items[2].text:='CAPITAL' 
else 
statusbar1.panels.items[2].text:='' ; 
if odd(ks[VK_SCROLL]) then 
statusbar1.panels.items[3].text:='SCROLL' 
else 
statusbar1.panels.items[3].text:=''; 
end; 
end. 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?