我正在开发一个大学系统(Windows XP),并且希望在登录时将键盘设置为 Dvorak。我目前有一个可以更改桌面图像的 python 脚本。
我也可以使用 python 来更改布局吗?或者还有其他方法吗?
更改键盘布局
import win32api
win32api.LoadKeyboardLayout('00000409',1) # to switch to english
win32api.LoadKeyboardLayout('00000401',1) # to switch to arabic
对于德沃夏克:
win32api.LoadKeyboardLayout("00010409",1)
或
win32api.LoadKeyboardLayout("00020409",1)
答案可以在以编程方式将键盘更改为德沃夏克
找到对于那些在 2024 年之后发现这篇文章并且之前答案中的代码不起作用的人 - 您只需要获取前台窗口并向其发送语言更改消息即可:
import win32gui
import win32api
import win32process
WM_INPUTLANGCHANGEREQUEST = 0x0050 # win32api const
EN = 0x4090409 # English
UK = -0xf57fbde # Ukrainian
window_handle = win32gui.GetForegroundWindow()
win32api.PostMessage(window_handle, WM_INPUTLANGCHANGEREQUEST, 0, EN)
# win32api.PostMessage(window_handle, WM_INPUTLANGCHANGEREQUEST, 0, UK)