python 自动化解决 windows 中英文切换快捷键失效问题
windows11 中英文切换快捷键突然没返应了,之前是五笔输入法中文自动上屏,更新过一次后,中英文切换快捷键也失效了。官方也不知道什么时候修复,每次切换都要用鼠标点一下,太麻烦了,于是想用 pthon 自动化模拟鼠标单击。实现逻辑:当程序打开后,监听快捷键 ctrl + space 然后模拟鼠标在任务栏的语言指示图标所在的坐标上单击一下,然后鼠标再退回到原来位置。
我也是边学边做,遇到问题了就查资料,改了几版,最后才成了满意的版本,能在系统托盘运行,方便开启和停止。经过这次实践,感觉 python 越来越好玩了。python 学点基础语法,然后就是边查边学各种工具库的使用,作为工具,基本上这样就可以了。
后来发现是 Powertoys 造成的,果断卸载了。
import pyautogui
import keyboard
import pystray
from PIL import Image
# 打包成 exe
# pyinstaller --noconsole --add-data="d:\icon.png;." app.py
# --noconsole 不显示 cmd 窗口
# --add-data="d:\icon.png;." 添加其他资源 将 d:\icon.png 添加到程序根目录
class App(object):
def position(self, hotkey='ctrl+windows+x'):
'''注册快捷键,获取当前坐标'''
keyboard.add_hotkey(hotkey, lambda: pyautogui.alert(pyautogui.position(), title='当前坐标', button='OK'))
return self
def switchInput(self):
'''中英文切换'''
def click():
x, y = pyautogui.position()
pyautogui.click(1720, 1056) # 坐标位置,可根据实际情况修改,可通过 position 方法获取坐标
pyautogui.moveTo(x, y) # 还原位置
keyboard.add_hotkey('ctrl+space', click) # 注册快捷键
return self
def start(self):
''' 在系统托盘运行 '''
pystray.Icon('test', icon=Image.open('icon.png'), menu=pystray.Menu(
pystray.MenuItem('关闭', lambda icon, item : icon.stop())
)).run()
if __name__ == '__main__':
App().position().switchInput().start()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术