2014-01-16 60 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