procedure CapLock(bLockIt: boolean);
Var
// Level : Integer;
KeyState : TKeyBoardState;
begin
// Level := GetKeyState(VK_CAPITAL);
GetKeyState(VK_CAPITAL);
GetKeyboardState(KeyState);
if bLockIt then
KeyState[VK_CAPITAL] := 1
else
KeyState[VK_CAPITAL] := 0;
setKeyboardState(KeyState);
end;
參考答案:GetKeyState:用来返回指定虚拟键的状态
返回值 :如果最高位为1表示按下,0 抬起,
如果最低位是1,按键被触发。一个按键,例如 CAPS LOCK键,如果打开就被触发。0不触发,该键被关闭,触发键是键盘上有指示的键
GetKeyboardState将256个虚拟键的状态拷贝到指点的buffer中setKeyboardState 通过buffer中的指设置每个虚拟键的状态,
windows用虚拟键来代表键盘上的按键
翻译自msdn 将就着看吧