python怎么切换中文键盘_python模拟键盘输入 切换键盘布局过程解析
PostMessage()
def keyHwnd(hwndEx, char):
"""
向指定控件输入值
:param hwndEx: 控件句柄
:param char: 字符串
:return: True or Flase
"""
try:
for _ in char:
print('key:%s ascii:%d' % (_, ord(_)))
win32api.PostMessage(hwndEx, win32con.WM_CHAR, ord(_), 0)
time.sleep(random.uniform(0,0.2))
except Exception as e:
print(e)
return False
return True
hwnd = win32gui.FindWindow(None,'a.txt - 记事本')
print(hwnd)
win32gui.SetForegroundWindow(hwnd)
hwndex = win32gui.FindWindowEx(hwnd,None,'Edit', None)
keyHwnd(hwndex,'撒地方SDFkof;ldsojfdfdsjfd;slkjfdlksjfkldsjflkdsjlkfjkldsljkfjdssj')
切换键盘布局
该功能封装成了一个装饰器,函数执行完恢复了原键盘布局
import win32con
from win32con import WM_INPUTLANGCHANGEREQUEST
import win32gui
import win32api
def setKeyboardLayout_en(inner):
def wrapper(*args, **kwargs):
if win32api.LoadKeyboardLayout('0x0409', win32con.KLF_ACTIVATE) == None:
return Exception('加载键盘失败')
# 语言代码
# https://msdn.microsoft.com/en-us/library/cc233982.aspx
LID = {0x0804: "Chinese (Simplified) (People's Republic of China)",
0x0409: 'English (United States)'}
# 获取前景窗口句柄
hwnd = win32gui.GetForegroundWindow()
# 获取前景窗口标题
title = win32gui.GetWindowText(hwnd)
# 获取键盘布局列表
im_list = win32api.GetKeyboardLayoutList()
im_list = list(map(hex, im_list))
print(im_list)
oldKey = hex(win32api.GetKeyboardLayout())
# 设置键盘布局为英文
result = win32api.SendMessage(
hwnd,
WM_INPUTLANGCHANGEREQUEST,
0,
0x4090409)
if result == 0:
print('设置英文键盘成功!')
inner(*args,*kwargs)
result = win32api.SendMessage(
hwnd,
WM_INPUTLANGCHANGEREQUEST,
0,
oldKey)
if result == 0:
print('还原键盘成功!')
return wrapper
ascii标准码
keybd_event()
win32api.keybd_event(65, 0, 0, 0)
time.sleep(random.uniform(0, 0.5))
win32api.keybd_event(65, 0, win32con.KEYEVENTF_KEYUP, 0)
这位兄弟写的关于模拟键盘非常全
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持龙方网络。
python怎么切换中文键盘_python模拟键盘输入 切换键盘布局过程解析相关推荐
- python贷款_python 模拟贷款卡号生成规则过程解析
前言 笔者在测试某web系统的过程中,需要用到"贷款卡号",且此贷款卡号仅能使用一次,保存过后下一次无法再次使用相同的卡号. 遂决定依据它的生成规则,自己写一段代码来实现. 同时为 ...
- python输入输出有问题_Python中的输入与输出
一.计算机核心 1.计算机的三大核心为 输入.计算.输出: 2.程序就是指令的集合: 二.python输入与输出 1.简单的来说python作为一种语言,可以编写脚本和程序,那么python就具备输入 ...
- 键盘输入_键盘输入技巧
键盘输入可发送所有的 ASCII 码及扩展 ASCII 码字符 (0-255), 若要发送 UNICODE 编码的字符则必须使用 "ASC" 选项加上您要发送的字符代码 (见下面的 ...
- win32键盘输入python_python-win32api键盘输入教程
importwin32guiimportwin32conimportwin32api#从顶层窗口向下搜索主窗口,无法搜索子窗口#FindWindow(lpClassName=None, lpWindo ...
- python批量读取excel表格数据_Python读取Excel数据并生成图表过程解析
一.需求背景 自己一直在做一个周基金定投模拟,每周需要添加一行数据,并生成图表.以前一直是用Excel实现的.但数据行多后,图表大小调整总是不太方便,一般只能通过缩放比例解决. 二.需求实现目标 通过 ...
- python 滚动字幕_Python pygame绘制文字制作滚动文字过程解析
这篇文章主要介绍了Python pygame绘制文字制作滚动文字过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 字体常用的不是很多,在pyg ...
- 键盘输入,键盘输入结束符。
编写程序,从cin读取一组数,输出其和. #include <iostream> using namespace std;int main() {float sum, nu;while ( ...
- python给pdf加图片签名_Python生成个性签名图片获取GUI过程解析
这篇文章主要介绍了Python生成个性签名图片获取GUI过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先来看看程序运行的样子: 所以,程序 ...
- python爬虫教程:爬取破解无线网络wifi密码过程解析
这篇文章主要介绍了Python爬取破解无线网络密码过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 前言 今天从WiFi连接的原理,再结合代码 ...
最新文章
- 学术 | DeepMind最新研究:使用更简单的环境就能检测AI是否安全
- MyBatis ofType和javaType区别
- JAVA字符串的替换replace、replaceAll、replaceFirst的区别解析。
- 太极计算机长沙,他设计了湖南最有尊严的建筑,诗意得让你想在里面加班
- Windows服务编写
- kali linux 双显卡,Kali上双显卡驱动的安装
- 阿里联合学界开源大型3D场景数据集,6813个户型,几何与纹理细节丰富
- 疫情当前,华为云数据库携手WeLink保障企业云上办公数据稳定可靠
- 【caffe】ubuntu配置python接口----pycaffe
- graphpad做饼图_走进隆江糖饼老店,探秘绿豆饼制作过程
- opencv编译之修改python绑定so名字
- 阿里开发者招聘节 | 面试题02-04:给定一个二叉搜索树(BST),找到树中第K小的节点...
- 手机IMSI号码编码规则表
- 伺服步进控制程序西门子200PLC和昆仑通泰MCGS触摸屏控制伺服步进电机程序例子题】
- C++中优先队列priority_queue的基础用法
- OpenGL(十三) Alpha测试、剪裁测试
- Mac常见问题:如何使用文件保险箱加密 Mac 上的启动磁盘!
- 百度网盘完美不限速下载,60MB/s,卢本伟修改!
- mycat分片规则详解+实例演示
- netstat –ano|findstr “port”命令
热门文章
- 面试官 | 说一下什么是代理模式?
- iterm2一键登陆服务器(门神权限不用每次都输密码进行验证)
- Android木马分析实验,Android木马简介与分析
- 配置babel_Babel 7 下配置 TypeScript 支持
- TCP、UDP相关协议使用的端口号
- python.123登录_python用户登录3次
- 进入虚拟化服务器,服务器虚拟化即将进入3.0时代
- 计算机科学导论考试A卷试题,09级计算机科学导论A卷答案
- div和div之间画横线_javascript – jQuery – 使用画布在div之间绘制线条
- java的visitor模式_java设计模式(二十一)访问者模式(Visitor)