zoukankan      html  css  js  c++  java
  • 编程改变键盘灯的简易方法

    一个笔记本,大概是驱动安装不太对,numlock无法按下,所以它的UIO JKL M,. 这几个键全被当成小键盘的按键了。所以每次使用的时候还得拖个usb键盘,好麻烦。

    我试了试,果然用按下Fn键的方法按动numlock不可行。不过,如果按住Fn,再按UIO等键的时候,却变回原先的键值。好奇怪。

    第一反应是写个程序触发numlock,似乎不难吧。上网查了一下,做出如下代码:

    procedure TForm1.Button2Click(Sender: TObject);
    var
      KeyState : TKeyBoardState;
    begin
      GetKeyboardState(KeyState);
      KeyState[VK_NUMLOCK] := 1;
      setKeyboardState(KeyState);
    end;

    运行后,似乎毫毛反应。

    看一下API的说明,有这样一段话:

    Remarks

    Because the SetKeyboardState function alters the input state of the calling thread and not the global input state of the system, an application cannot use SetKeyboardState to set the NUM LOCK, CAPS LOCK, or SCROLL LOCK indicator lights on the keyboard.

    原来不可以用SetKeyboardState来修改全局的指示灯啊。。。

    明明有办法的。。。

    这时想到用Sendkey。忽然想到autoit可以方便的实现功能的,试一下:

      send("{NUMLOCK}")

    只一行语句,问题解决。。。

  • 相关阅读:
    element input number e
    地图 scatter 自定义图片
    地图某一个区域设置高亮
    echarts 获取县级json
    echarts map 阴影(重叠)
    echarts 渐变色
    echarts tooltip 超出处理
    npm 下载 zip
    axios post 下载文件
    书签 css
  • 原文地址:https://www.cnblogs.com/anjo/p/1926928.html
Copyright © 2011-2022 走看看