python代码如何实现切换中英文输入法
作者:飞翔的宫保鸡丁
这篇文章主要介绍了python代码如何实现切换中英文输入法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
python代码切换中英文输入法
代码实现切换中英文输入法
from win32con import WM_INPUTLANGCHANGEREQUEST import win32gui import win32api def set_english_inputer(): # 0x0409为英文输入法的lid_hex的 中文一般为0x0804 hwnd = win32gui.GetForegroundWindow() title = win32gui.GetWindowText(hwnd) im_list = win32api.GetKeyboardLayoutList() im_list = list(map(hex, im_list)) result = win32api.SendMessage(hwnd, WM_INPUTLANGCHANGEREQUEST, 0, 0x0409) if result == 0: print("英文输入法切换成功!")
python万能切换输入法英文状态
# 转换为英文状态 def eng_chin(): import pyautogui from win32clipboard import GetClipboardData, OpenClipboard, CloseClipboard from win32con import CF_TEXT from win32con import CF_UNICODETEXT import subprocess # 打开搜索框 subprocess.run('start ms-settings:search', shell=True) # subprocess.Popen(['explorer', 'shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}']) pyautogui.press('`') pyautogui.hotkey('shift','1') pyautogui.hotkey('shift','4') pyautogui.hotkey('shift','5') pyautogui.hotkey('shift','6') pyautogui.hotkey('ctrl','a') pyautogui.hotkey('ctrl','c') OpenClipboard() # 读取剪贴板的数据 clipboard = GetClipboardData(CF_UNICODETEXT) CloseClipboard() #关闭 pyautogui.press('backspace') text=clipboard if '·' in text and '!'in text and '¥'in text and '%'in text and '……'in text: print('当前输入法为中文状态') pyautogui.press('shift') # 切换英文状态 print('已切换英文状态') # 关闭搜索框 subprocess.run('taskkill /F /IM SearchUI.exe', shell=True) return '中文' print('当前输入法为英文状态') # 关闭搜索框 subprocess.run('taskkill /F /IM SearchUI.exe', shell=True) return '英文' eng_chin()
系统 默认输入法,搜狗不能成功
# 指定系统默认输入法,切换中文状态 def input_fa(): import uiautomation as uia import pyautogui win = uia.PaneControl(ClassName="Shell_TrayWnd",Name="任务栏") retext=win.ButtonControl(ClassName="IMEModeButton").Name print(retext) if '中文' in retext.replace('\n',''): pyautogui.press('shift') #切换状态 return retext input_fa()
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。