本文主要介绍delphi编程开启和关闭小键盘的方法,下面先写个过程:
procedure SwitchToggleKey(Key: byte; State: boolean);
var
ks: TKeyboardState;
ScanCode: integer;
begin
if not key in [VK_CAPITAL, VK_NUMLOCK, VK_SCROLL, VK_INSERT] then
exit;
if (key = VK_NUMLOCK) and (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) then
begin
GetKeyboardState(ks); {for Win95/98}
if state then
ks[key] := ks[key] or 1
else
ks[key] := ks[key] and 254;
SetKeyboardState(ks);
end
else if odd(GetKeyState(key)) <> state then
begin
ScanCode := MapVirtualKey(key, 0);
keybd_event(key, ScanCode, {KEYEVENTF_EXTENDEDKEY} 0, 0);
{Simulate a key release}
keybd_event(key, ScanCode, {KEYEVENTF_EXTENDEDKEY or } KEYEVENTF_KEYUP, 0);
end;
end;
调用方法:
开启小键盘:SwitchToggleKey(VK_NUMLOCK,true);
关闭小键盘:SwitchToggleKey(VK_NUMLOCK, false);