2014-01-16 35 views
3

正如问题问,我知道这是可能onLinux,但我找不到任何最近的Windows。它甚至有可能吗?的Python 3.X - 获取大写锁定/ NUM锁/滚动锁定的状态,在Windows

+0

如果你只是想自定义锁在锁止键,可以随时进行布尔在例如Tkinter程序中的一个类。然后你可以通过某个按键来改变它的状态,并且在不同的状态下有不同的行为。这有效地避免了需要担心所有的锁是否正式开启或关闭。当然,这可能听起来过于简单,并且像很多工作(不会影响锁的灯光),但至少它是跨平台的。我没有发布这个答案的原因是因为它是关于创建你自己的状态(不检查状态)。 – Shule

回答

3

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

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

用于Python 3.x的

这里安装pywin32是用于检查的CapsLock状态的例子。

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

也适用于python 2.7。 用于numlock导入VK_NUMLOCK – Marjoram