python代码如何实现切换中英文输入法

 更新时间:2023年11月08日 08:37:51   作者:飞翔的宫保鸡丁  
这篇文章主要介绍了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()

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python三种数据标准化方式

    python三种数据标准化方式

    这篇文章主要介绍了python三种数据标准化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Python3用2行代码生成动态二维码详解

    Python3用2行代码生成动态二维码详解

    这篇文章主要介绍了两行Python代码制作动态二维码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10
  • 使用python请求接口方式(可进行并发测试)

    使用python请求接口方式(可进行并发测试)

    这篇文章主要介绍了使用python请求接口方式(可进行并发测试),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Python下载网络小说实例代码

    Python下载网络小说实例代码

    这篇文章主要介绍了Python下载网络小说实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • python使用Plotly绘图工具绘制水平条形图

    python使用Plotly绘图工具绘制水平条形图

    这篇文章主要为大家详细介绍了python使用Plotly绘图工具绘制水平条形图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Pytorch训练网络过程中loss突然变为0的解决方案

    Pytorch训练网络过程中loss突然变为0的解决方案

    这篇文章主要介绍了Pytorch训练网络过程中loss突然变为0的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python+PyQt5实现灭霸响指功能

    Python+PyQt5实现灭霸响指功能

    这篇文章主要介绍了Python+PyQt5实现灭霸响指功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 基于Python编写一个词云制作程序

    基于Python编写一个词云制作程序

    这篇文章主要为大家详细介绍了如何基于Python编写一个简单的词云制作程序,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-10-10
  • 基于Python实现成语填空游戏的示例代码

    基于Python实现成语填空游戏的示例代码

    成语填空想必大家都是十分熟悉的了,特别是有在上小学的家长肯定都有十分深刻的印象。当然了你也别小看了成语调控小游戏,有的时候知识储备不够,你还真的不一定猜得出来是什么。本文就来用Python编写一个简单的成语填空游戏,感兴趣的可以了解下
    2023-02-02
  • pybind11和numpy进行交互的方法

    pybind11和numpy进行交互的方法

    这篇文章主要介绍了pybind11和numpy进行交互的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07

最新评论