我想让小键盘一直处于可用状态,就是说小键盘灯总是亮的,Num Lock键是无效的。

解决方案 »

  1.   

    弄个程序轮训Getkeyboardstate楼主看看,我也学习下哦http://www.haoxiai.net/bianchengyuyan/Delphi/84391.html
      

  2.   


    type
      TKeyType = (ktCapsLock, ktNumLock, ktScrollLock);procedure SetLedState(KeyCode: TKeyType; bOn: Boolean);
    var
      KBState: TKeyboardState;
      Code: Byte;
    begin
      case KeyCode of
        ktScrollLock: Code := VK_SCROLL;
        ktCapsLock: Code := VK_CAPITAL;
        ktNumLock: Code := VK_NUMLOCK;
      end;
      GetKeyboardState(KBState);
      if (Win32Platform = VER_PLATFORM_WIN32_NT) then
      begin
        if Boolean(KBState[Code]) <> bOn then
        begin
          keybd_event(Code,
                      MapVirtualKey(Code, 0),
                      KEYEVENTF_EXTENDEDKEY,
                      0);      keybd_event(Code,
                      MapVirtualKey(Code, 0),
                      KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,
                      0);
        end;
      end
      else
      begin
        KBState[Code] := Ord(bOn);
        SetKeyboardState(KBState);
      end;
    end;然后可以在timer里不断地  SetLedState(ktNumLock, True);  // NumLock on