python 操作记事本
需事先打开记事本,再运行下面脚本
- # encoding: utf-
- import win32api
- import win32gui
- import win32con
- print("Hello,world!")
- def find_idxSubHandle(pHandle, winClass, index=):
- """
- 已知子窗口的窗体类名
- 寻找第index号个同类型的兄弟窗口
- """
- assert type(index) == int and index >=
- handle = win32gui.FindWindowEx(pHandle, , winClass, None)
- while index > :
- handle = win32gui.FindWindowEx(pHandle, handle, winClass, None)
- index -=
- return handle
- def find_subHandle(pHandle, winClassList):
- """
- 递归寻找子窗口的句柄
- pHandle是祖父窗口的句柄
- winClassList是各个子窗口的class列表,父辈的list-index小于子辈
- """
- assert type(winClassList) == list
- if len(winClassList) == :
- return find_idxSubHandle(pHandle, winClassList[][], winClassList[][])
- else:
- pHandle = find_idxSubHandle(pHandle, winClassList[][], winClassList[][])
- return find_subHandle(pHandle, winClassList[:])
- """输出phandle的所有子控件"""
- def p_sub_handle(phandle):
- handle = -
- while handle != :
- if handle == -:
- handle =
- handle = win32gui.FindWindowEx(phandle, handle, None, None)
- if handle != :
- className = win32gui.GetClassName(handle)
- print(className)
- """
- 记事本实例
- """
- #获取实例
- notepadHhandle = win32gui.FindWindow("Notepad", None)
- print ("%x" % (notepadHhandle))
- #获取句柄
- editHandle = find_subHandle(notepadHhandle, [("Edit",)])
- print ("%x" % (editHandle))
- """修改edit中的值"""
- win32api.SendMessage(editHandle, win32con.WM_SETTEXT, , "")
- command_dict = { # [目录的编号, 打开的窗口名]
- "open": [, u"打开"]
- }
- """操作菜单"""
- menu = win32gui.GetMenu(notepadHhandle)
- menu = win32gui.GetSubMenu(menu, )
- cmd_ID = win32gui.GetMenuItemID(menu, command_dict["open"][])
- if cmd_ID == -:
- print("没有找到相应的菜单")
- else:
- print ("菜单id:%x" % (cmd_ID))
- win32gui.PostMessage(notepadHhandle, win32con.WM_COMMAND, cmd_ID, )
python 操作记事本的更多相关文章
- python操作word(改课文格式)【最终版】
python操作word的一些方法,前面写了一些感悟,有点跑题,改了下题目,方便能搜索到.心急的可以直接拉到最后看代码,我都加了比较详细的注释. 从8.3号早上9点,到8.8号下午5点半下班,终于把这 ...
- Python(九) Python 操作 MySQL 之 pysql 与 SQLAchemy
本文针对 Python 操作 MySQL 主要使用的两种方式讲解: 原生模块 pymsql ORM框架 SQLAchemy 本章内容: pymsql 执行 sql 增\删\改\查 语句 pymsql ...
- Python 【第六章】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- Python操作MySQL
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...
- Python操作Mysql之基本操作
pymysql python操作mysql依赖pymysql这个模块 下载安装 pip3 install pymysql 操作mysql python操作mysql的时候,是通过”游标”来进行操作的. ...
- Python操作RabbitMQ
RabbitMQ介绍 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从“生产者”接收消息并传递消 ...
- python操作日期和时间的方法
不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解python操作日期和时间的方法.1.将字符串的时间转换为时间戳 ...
- Python—操作redis
Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...
随机推荐
- Redis慢查询日志学习功能
慢查询日志 什么是SLOW LOG? Slow log是Redis用来记录查询执行时间超过给定时长的命令请求的日志系统.查询执行时间指的是不包括像客户端响应(talking).发送回复等IO操作,而单 ...
- Eloquent JavaScript #04# Objects and Arrays
要点索引: JSON More ... 练习 1.补:js字符串的表达方式有三种: "" 和 '' 没什么区别,唯一区别在于 "" 中写 "要转义字符 ...
- nginx location分析
- Python文件读写、StringIO和BytesIO
1 IO的含义 在计算机中,IO是Input/Output的简写,也就是输入和输出. 由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就 ...
- P4316 绿豆蛙的归宿(期望)
P4316 绿豆蛙的归宿 因为非要用bfs所以稍微麻烦一点qwq(大家用的都是dfs) 其实问题让我们求的就是经过每条边的概率*边权之和 我们可以用bfs把图遍历一遍处理概率,顺便把每条边的概率*边权 ...
- DBeaver连接Oracle11g数据库
DBeaver连接Oracle11g数据库 一.准备 (1)dbeaver管理软件 (2)远程连接数据库地址.用户名秘密等 (3)Oracle驱动:ojdbc6.jar工具包 下载地址:https:/ ...
- 快速阅读《QT5.9 c++开发指南》1
简介:<QT5.9 c++开发指南>的作者是和i三位主要从事地球物理探测仪器设计.数据处理方法研究和软件开发等工作的博士们,这本书以QT Widget为主要内容,比较全面地教授了QT开发桌 ...
- hdu 1811 Rank of Tetris - 拓扑排序 - 并查集
自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球. 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜, ...
- topcoder srm 540 div1
problem1 link 设第一个数字为$x$,那么第2到第$n$个数字都可以表示成$a+bx$的形式,其中$b=1$或者$b=-1$.然后可以求出关于$x$的一些范围,求交集即可. problem ...
- Python3基础 dict get 在查询不存在的键时,返回指定的内容
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...