检测: Var ks: TkeyBoardState; begin GetKeyboardState(ks); if (ks[VK_NUMLOCK] = 1) then ShowMessage('Num Lock is on.') else ShowMessage('Num Lock is off.'); if (ks[VK_CAPITAL] = 1) then ShowMessage('Caps Lock is on.') else ShowMessage('Caps Lock is off.'); end; 切换: keybd_event( VK_NUMLOCK, $45, KEYEVENTF_EXTENDEDKEY or 0,0 ); keybd_event( VK_NUMLOCK, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); keybd_event( VK_CAPITAL, $45, KEYEVENTF_EXTENDEDKEY or 0, 0 ); keybd_event( VK_CAPITAL, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
procedure Tfrmmain.numlockon; var key:tkeyboardstate; begin GetKeyboardState(key); if key[VK_NUMLOCK]=0 then begin keybd_event( VK_NUMLOCK, $45, KEYEVENTF_EXTENDEDKEY or 0,0 ); keybd_event( VK_NUMLOCK, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); end; //setKeyboardState(key); end;windows2000下没有用啊
Var
ks: TkeyBoardState;
begin
GetKeyboardState(ks);
if (ks[VK_NUMLOCK] = 1) then
ShowMessage('Num Lock is on.')
else
ShowMessage('Num Lock is off.');
if (ks[VK_CAPITAL] = 1) then
ShowMessage('Caps Lock is on.')
else
ShowMessage('Caps Lock is off.');
end; 切换:
keybd_event( VK_NUMLOCK, $45, KEYEVENTF_EXTENDEDKEY or 0,0 );
keybd_event( VK_NUMLOCK, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
keybd_event( VK_CAPITAL, $45, KEYEVENTF_EXTENDEDKEY or 0, 0 );
keybd_event( VK_CAPITAL, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
var key:tkeyboardstate;
begin
GetKeyboardState(key);
if key[VK_NUMLOCK]=0 then
begin
keybd_event( VK_NUMLOCK, $45, KEYEVENTF_EXTENDEDKEY or 0,0 );
keybd_event( VK_NUMLOCK, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end;
//setKeyboardState(key);
end;windows2000下没有用啊