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模拟键盘输入 切换键盘布局过程解析相关推荐

  1. python贷款_python 模拟贷款卡号生成规则过程解析

    前言 笔者在测试某web系统的过程中,需要用到"贷款卡号",且此贷款卡号仅能使用一次,保存过后下一次无法再次使用相同的卡号. 遂决定依据它的生成规则,自己写一段代码来实现. 同时为 ...

  2. python输入输出有问题_Python中的输入与输出

    一.计算机核心 1.计算机的三大核心为 输入.计算.输出: 2.程序就是指令的集合: 二.python输入与输出 1.简单的来说python作为一种语言,可以编写脚本和程序,那么python就具备输入 ...

  3. 键盘输入_键盘输入技巧

    键盘输入可发送所有的 ASCII 码及扩展 ASCII 码字符 (0-255), 若要发送 UNICODE 编码的字符则必须使用 "ASC" 选项加上您要发送的字符代码 (见下面的 ...

  4. win32键盘输入python_python-win32api键盘输入教程

    importwin32guiimportwin32conimportwin32api#从顶层窗口向下搜索主窗口,无法搜索子窗口#FindWindow(lpClassName=None, lpWindo ...

  5. python批量读取excel表格数据_Python读取Excel数据并生成图表过程解析

    一.需求背景 自己一直在做一个周基金定投模拟,每周需要添加一行数据,并生成图表.以前一直是用Excel实现的.但数据行多后,图表大小调整总是不太方便,一般只能通过缩放比例解决. 二.需求实现目标 通过 ...

  6. python 滚动字幕_Python pygame绘制文字制作滚动文字过程解析

    这篇文章主要介绍了Python pygame绘制文字制作滚动文字过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 字体常用的不是很多,在pyg ...

  7. 键盘输入,键盘输入结束符。

    编写程序,从cin读取一组数,输出其和. #include <iostream> using namespace std;int main() {float sum, nu;while ( ...

  8. python给pdf加图片签名_Python生成个性签名图片获取GUI过程解析

    这篇文章主要介绍了Python生成个性签名图片获取GUI过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先来看看程序运行的样子: 所以,程序 ...

  9. python爬虫教程:爬取破解无线网络wifi密码过程解析

    这篇文章主要介绍了Python爬取破解无线网络密码过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 前言 今天从WiFi连接的原理,再结合代码 ...

最新文章

  1. 学术 | DeepMind最新研究:使用更简单的环境就能检测AI是否安全
  2. MyBatis ofType和javaType区别
  3. JAVA字符串的替换replace、replaceAll、replaceFirst的区别解析。
  4. 太极计算机长沙,他设计了湖南最有尊严的建筑,诗意得让你想在里面加班
  5. Windows服务编写
  6. kali linux 双显卡,Kali上双显卡驱动的安装
  7. 阿里联合学界开源大型3D场景数据集,6813个户型,几何与纹理细节丰富
  8. 疫情当前,华为云数据库携手WeLink保障企业云上办公数据稳定可靠
  9. 【caffe】ubuntu配置python接口----pycaffe
  10. graphpad做饼图_走进隆江糖饼老店,探秘绿豆饼制作过程
  11. opencv编译之修改python绑定so名字
  12. 阿里开发者招聘节 | 面试题02-04:给定一个二叉搜索树(BST),找到树中第K小的节点...
  13. 手机IMSI号码编码规则表
  14. 伺服步进控制程序西门子200PLC和昆仑通泰MCGS触摸屏控制伺服步进电机程序例子题】
  15. C++中优先队列priority_queue的基础用法
  16. OpenGL(十三) Alpha测试、剪裁测试
  17. Mac常见问题:如何使用文件保险箱加密 Mac 上的启动磁盘!
  18. 百度网盘完美不限速下载,60MB/s,卢本伟修改!
  19. mycat分片规则详解+实例演示
  20. netstat –ano|findstr “port”命令

热门文章

  1. 面试官 | 说一下什么是代理模式?
  2. iterm2一键登陆服务器(门神权限不用每次都输密码进行验证)
  3. Android木马分析实验,Android木马简介与分析
  4. 配置babel_Babel 7 下配置 TypeScript 支持
  5. TCP、UDP相关协议使用的端口号
  6. python.123登录_python用户登录3次
  7. 进入虚拟化服务器,服务器虚拟化即将进入3.0时代
  8. 计算机科学导论考试A卷试题,09级计算机科学导论A卷答案
  9. div和div之间画横线_javascript – jQuery – 使用画布在div之间绘制线条
  10. java的visitor模式_java设计模式(二十一)访问者模式(Visitor)