用 Python 切换输入法
发布日期:2021-05-07 17:48:41 浏览次数:24 分类:精选文章

本文共 978 字,大约阅读时间需要 3 分钟。

用 Python 切换输入法

转载请注明出处:


文章目录


0. 前言及参考资料

前言

  本来是想做一个 Sublime Text 3 的小插件,解决 vim 模式下,退出插入模式进入命令模式的时候,输入法没有办法自动切换到英文的这个问题。
  后来看了一下文档好像有点门槛,准备以后再弄吧,暂时写一个 Python 切换输入法的小脚本试试。其实准确来讲应该是切换键盘布局 keyboard layout,因为我不知道如何检测搜狗输入法或者微软拼音输入法的中英文状态,如果检测到就可以不用切换键盘布局,而是通过模拟按下 Shift 键来切换中英文输入状态了。

参考资料

  • 参考了下面这个库的一些代码:

1. 脚本

话不多说,上代码。

setkeyboardlayout.py

# set keyboard layout# 设置键盘布局from win32con import WM_INPUTLANGCHANGEREQUESTimport win32guiimport win32api# 语言代码# https://msdn.microsoft.com/en-us/library/cc233982.aspxLID = {   0x0804: "Chinese (Simplified) (People's Republic of China)",       0x0409: 'English (United States)'}# 获取前景窗口句柄hwnd = win32gui.GetForegroundWindow()# 获取前景窗口标题title = win32gui.GetWindowText(hwnd)print('当前窗口:' + title)# 获取键盘布局列表im_list = win32api.GetKeyboardLayoutList()im_list = list(map(hex, im_list))print(im_list)# 设置键盘布局为英文result = win32api.SendMessage(    hwnd,    WM_INPUTLANGCHANGEREQUEST,    0,    0x0409)if result == 0:    print('设置英文键盘成功!')

完成于 2018.11.20

上一篇:Effective Python 读书笔记——第 1 条
下一篇:Python + Selenium 爬取网易云课堂课时标题及时长

发表评论

最新留言

很好
[***.229.124.182]2025年03月23日 12时25分23秒