📄 检测 insert、capslock、numlock、scrolllock 状.txt
字号:
检测 Insert、Capslock、NumLock、ScrollLock 状态键的状态 (2001年1月8日)
网友更新 分类:系统 作者: nbwzw(推荐) 推荐:nbwzw 阅读次数:344
(http://www.codesky.net)
--------------------------------------------------------------------------------
Delphi 可以调用 Win API 的 Getkeyboardstate() 函数。
常量 按键名称
VK_INSERT Insert 键
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]) the statusbar1.panels.items[3].text:='SCROLL'
else statusbar1.panels.items[3].text:='';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -