需事先打开记事本,再运行下面脚本

  1. # encoding: utf-
  2. import win32api
  3. import win32gui
  4. import win32con
  5.  
  6. print("Hello,world!")
  7.  
  8. def find_idxSubHandle(pHandle, winClass, index=):
  9. """
  10. 已知子窗口的窗体类名
  11. 寻找第index号个同类型的兄弟窗口
  12. """
  13. assert type(index) == int and index >=
  14. handle = win32gui.FindWindowEx(pHandle, , winClass, None)
  15. while index > :
  16. handle = win32gui.FindWindowEx(pHandle, handle, winClass, None)
  17. index -=
  18. return handle
  19.  
  20. def find_subHandle(pHandle, winClassList):
  21. """
  22. 递归寻找子窗口的句柄
  23. pHandle是祖父窗口的句柄
  24. winClassList是各个子窗口的class列表,父辈的list-index小于子辈
  25. """
  26. assert type(winClassList) == list
  27. if len(winClassList) == :
  28. return find_idxSubHandle(pHandle, winClassList[][], winClassList[][])
  29. else:
  30. pHandle = find_idxSubHandle(pHandle, winClassList[][], winClassList[][])
  31. return find_subHandle(pHandle, winClassList[:])
  32.  
  33. """输出phandle的所有子控件"""
  34. def p_sub_handle(phandle):
  35. handle = -
  36. while handle != :
  37. if handle == -:
  38. handle =
  39. handle = win32gui.FindWindowEx(phandle, handle, None, None)
  40. if handle != :
  41. className = win32gui.GetClassName(handle)
  42. print(className)
  43.  
  44. """
  45. 记事本实例
  46. """
  47. #获取实例
  48. notepadHhandle = win32gui.FindWindow("Notepad", None)
  49. print ("%x" % (notepadHhandle))
  50. #获取句柄
  51. editHandle = find_subHandle(notepadHhandle, [("Edit",)])
  52. print ("%x" % (editHandle))
  53.  
  54. """修改edit中的值"""
  55. win32api.SendMessage(editHandle, win32con.WM_SETTEXT, , "")
  56.  
  57. command_dict = { # [目录的编号, 打开的窗口名]
  58. "open": [, u"打开"]
  59. }
  60.  
  61. """操作菜单"""
  62. menu = win32gui.GetMenu(notepadHhandle)
  63. menu = win32gui.GetSubMenu(menu, )
  64. cmd_ID = win32gui.GetMenuItemID(menu, command_dict["open"][])
  65. if cmd_ID == -:
  66. print("没有找到相应的菜单")
  67. else:
  68. print ("菜单id:%x" % (cmd_ID))
  69. win32gui.PostMessage(notepadHhandle, win32con.WM_COMMAND, cmd_ID, )

python 操作记事本的更多相关文章

  1. python操作word(改课文格式)【最终版】

    python操作word的一些方法,前面写了一些感悟,有点跑题,改了下题目,方便能搜索到.心急的可以直接拉到最后看代码,我都加了比较详细的注释. 从8.3号早上9点,到8.8号下午5点半下班,终于把这 ...

  2. Python(九) Python 操作 MySQL 之 pysql 与 SQLAchemy

    本文针对 Python 操作 MySQL 主要使用的两种方式讲解: 原生模块 pymsql ORM框架 SQLAchemy 本章内容: pymsql 执行 sql 增\删\改\查 语句 pymsql ...

  3. Python 【第六章】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  4. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  5. Python操作MySQL

    本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...

  6. Python操作Mysql之基本操作

    pymysql python操作mysql依赖pymysql这个模块 下载安装 pip3 install pymysql 操作mysql python操作mysql的时候,是通过”游标”来进行操作的. ...

  7. Python操作RabbitMQ

    RabbitMQ介绍 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从“生产者”接收消息并传递消 ...

  8. python操作日期和时间的方法

    不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解python操作日期和时间的方法.1.将字符串的时间转换为时间戳 ...

  9. Python—操作redis

    Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...

随机推荐

  1. Redis慢查询日志学习功能

    慢查询日志 什么是SLOW LOG? Slow log是Redis用来记录查询执行时间超过给定时长的命令请求的日志系统.查询执行时间指的是不包括像客户端响应(talking).发送回复等IO操作,而单 ...

  2. Eloquent JavaScript #04# Objects and Arrays

    要点索引: JSON More ... 练习 1.补:js字符串的表达方式有三种: "" 和 '' 没什么区别,唯一区别在于 "" 中写 "要转义字符 ...

  3. nginx location分析

  4. Python文件读写、StringIO和BytesIO

    1 IO的含义 在计算机中,IO是Input/Output的简写,也就是输入和输出. 由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就 ...

  5. P4316 绿豆蛙的归宿(期望)

    P4316 绿豆蛙的归宿 因为非要用bfs所以稍微麻烦一点qwq(大家用的都是dfs) 其实问题让我们求的就是经过每条边的概率*边权之和 我们可以用bfs把图遍历一遍处理概率,顺便把每条边的概率*边权 ...

  6. DBeaver连接Oracle11g数据库

    DBeaver连接Oracle11g数据库 一.准备 (1)dbeaver管理软件 (2)远程连接数据库地址.用户名秘密等 (3)Oracle驱动:ojdbc6.jar工具包 下载地址:https:/ ...

  7. 快速阅读《QT5.9 c++开发指南》1

    简介:<QT5.9 c++开发指南>的作者是和i三位主要从事地球物理探测仪器设计.数据处理方法研究和软件开发等工作的博士们,这本书以QT Widget为主要内容,比较全面地教授了QT开发桌 ...

  8. hdu 1811 Rank of Tetris - 拓扑排序 - 并查集

    自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球. 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜, ...

  9. topcoder srm 540 div1

    problem1 link 设第一个数字为$x$,那么第2到第$n$个数字都可以表示成$a+bx$的形式,其中$b=1$或者$b=-1$.然后可以求出关于$x$的一些范围,求交集即可. problem ...

  10. Python3基础 dict get 在查询不存在的键时,返回指定的内容

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...