【问题标题】:Python 3.x - Getting the state of caps-lock/num-lock/scroll-lock on WindowsPython 3.x - 在 Windows 上获取 caps-lock/num-lock/scroll-lock 的状态
【发布时间】:2014-01-16 11:10:26
【问题描述】:

正如问题所问,我知道这是可能的 on Linux,但我找不到任何适用于 Windows 的最新内容。有可能吗?

【问题讨论】:

  • 如果您只是想要自定义锁定锁定键,您可以随时在 Tkinter 程序等类中创建一个布尔值。然后你可以让某个按键改变它的状态,让事物在不同的状态下表现不同。这有效地避免了担心所有锁是否正式打开或关闭的需要。当然,这听起来可能过于简单并且需要大量工作(不影响锁的灯光),但至少它是跨平台的。我没有将此作为答案发布的原因是因为它是关于创建您自己的状态(而不是检查状态)。
  • 但是这种方法的问题是当'Caps'已经被按下,即在程序运行时'on'

标签: python python-3.x capslock


【解决方案1】:

您可以使用 ctypes 加载 user32.dll,然后使用 nVirtKey = VK_CAPITAL (0x14) 调用 GetKeyState

def get_capslock_state():
    import ctypes
    hllDll = ctypes.WinDLL ("User32.dll")
    VK_CAPITAL = 0x14
    return hllDll.GetKeyState(VK_CAPITAL)

【讨论】:

    【解决方案2】:

    为 Python 3.x 安装 pywin32

    这是检查大写锁定状态的示例。

    from win32api import GetKeyState 
    from win32con import VK_CAPITAL 
    GetKeyState(VK_CAPITAL)
    

    【讨论】:

    • 也适用于 python 2.7。对于 numlock 导入 VK_NUMLOCK
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 2013-06-05
    • 2016-12-26
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    相关资源
    最近更新 更多