参考博客链接

https://blog.csdn.net/polyhedronx/article/details/81988948

参考博客链接

https://www.cnblogs.com/zhaobl/p/3326332.html

pyhandle=win32gui.FindWindow(classname,text)
  pyhandle windows窗体句柄,int 类型
  className 窗体类名
  text 窗体标题
win32gui.SetForegroundWindow(pyhandle)
win32gui.ShowWindow(pyhandle, win32con.SW_MAXIMIZE)
  窗体置顶
  窗体最大化
handle=win32gui.FindWindowEx(pyhandle,None,'Edit',None)

  通过父pyhandle窗体句柄找到第一个子窗体或控件

  函数原型

  pyHandle=FindWindowEx(Parent, ChildAfter , ClassName , WindowName)

  ChildAfer int类型,为0表示搜索所有

win32gui.SendMessage(handle, win32con.WM_GETTEXTLENGTH) #向句柄为handle的窗体发送消息得到文本内容大小,阻塞式

  函数原型

  int = SendMessage(hwnd, message , wparam , lparam )

  具体内容请查看windows api

buffer = win32gui.PyMakeBuffer(len) 
  得到长度为len的缓冲区类型
win32gui.SendMessage(edit_handle, win32con.WM_GETTEXT, len, buffer)  # 读取文本

   读取控件的文本内容

address, length = win32gui.PyGetBufferAddressAndLen(buffer)

   通过buffer得到地址和字符串长度

text = win32gui.PyGetString(address, length)

   通过地址和字符串长度得到文本内容

left,top,right,bottom=win32gui.GetClientRect(pyhandle)

   得到窗体的左,顶,右 ,底的坐标

import win32gui
win32api.keybd_event(key, 0, 0, 0)

   发送键盘消息,key为键值

import win32api
win32api.SetCursorPos([width, height])

   设置鼠标在屏幕中的坐标

import win32api,win32con
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

   鼠标左键单击

import win32api,win32con
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

   鼠标右键单击

import win32gui
hwndChildList = []
win32gui.EnumChildWindows(parent, lambda hwnd, param: param.append(hwnd), hwndChildList)  

   得到parent窗体下所有的窗体和控件句柄

import win32api,win32con
win32api.keybd_event(key, 0, win32con.KEYEVENTF_KEYUP, 0)

   key int类型,让按下的键抬起来

 import win32gui,win32con
win32gui.SendMessage(handle,win32con.WM_SETTEXT,0,text)

   设置控件文本内容

import win32gui
win32gui.GetDlgItemText(pyhandle,dlgItemId)

   通过窗体句柄和控件id得到控件的text

  控件的id可以通过spy++或者AutoIt windows info获取

import win32console,win32gui
cmd_win=win32console.GetConsoleWindow()
if cmd_win>0:
win32gui.ShowWindow(cmd_win,0) #windows下隐藏python程序运行的黑窗口,cmd命令行窗口

  

python pywin32学习笔记的更多相关文章

  1. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  2. Python Click 学习笔记(转)

    原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...

  3. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  4. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  5. Python Flask学习笔记之Hello World

    Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...

  6. 获取字段唯一值工具- -ArcPy和Python案例学习笔记

    获取字段唯一值工具- -ArcPy和Python案例学习笔记   目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...

  7. Python高级学习笔记

    Python高级学习笔记,此笔记中包含Linux操作系统.Html+CSS+JS.网络协议等. 所有思维导图为本人亲手所画,请勿用于商用. 大哥们,求点赞哦. 第一天笔记:链接 第二天笔记:链接 第三 ...

  8. Python入门学习笔记4:他人的博客及他人的学习思路

    看其他人的学习笔记,可以保证自己不走弯路.并且一举两得,即学知识又学方法! 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958 ...

  9. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

随机推荐

  1. HIVE常用SQL语句及语法

    HIVE建内部表语句 create table dll102.sougou (id string,pwd string,name string,count int,seqno int,address ...

  2. bzoj1009题解

    [解题思路] 先KMP出fail数组,再用fail数组求出M[i][j],表示上一次匹配到第i位,这次可以遇到多少种不同的字符,使之转而匹配到第j位. 设集合S=[1,m]∩N 又设f[i][j]表示 ...

  3. zookeeper3台机器集群环境的搭建

    三台机器zookeeper的集群环境搭建 Zookeeper 集群搭建指的是 ZooKeeper 分布式模式安装. 通常由 2n+1台 servers 组成. 这是因为为了保证 Leader 选举(基 ...

  4. NX11.0和VS2013 创建NXOpen 开发模版失败解决方案【转载】

    转载自PLM之家论坛 NX11.0和VS2013 创建NXOpen 开发模版失败解决方案 首先我觉得这个可能是西门子疏忽,基本上每个大版本没有补丁前都有类似问题,下面来说说怎么解决吧.注意这里版本,N ...

  5. Rootkit之SSDT hook(通过CR0)

    CR0当中有一个写保护位,是保护内存不可写属性的,为了能够写入内核,只能把它的保护给咔嚓掉了,不过--如果做完了手脚但不还原写保护属性的话,极有可能会BOSD. /================== ...

  6. IDEA web 开发环境搭建

    最近由eclipse 换 IDEA ,记录下开发环境的搭建过程. 1 配置idea vim 既可以使用IDEA方便的代码提示和调试功能,又可以方便使用vim编辑文件,安装完成后显示为vim Emula ...

  7. HDU1595-find the longest of the shortest-dijkstra+记录路径

    Marica is very angry with Mirko because he found a new girlfriend and she seeks revenge.Since she do ...

  8. scp 传输下载

    利用scp传输文件 1.从服务器下载文件 scp username@servername:/path/filename /tmp/local_destination 例如scp codinglog@1 ...

  9. 【牛客挑战赛32E】树上逆序对

    题目 数据范围非常奇怪,询问的逆序对个数\(k\leq 30000\),我们应该可以把所有的情况都求出来 发现对于树上两点\(x,y\),如果\(x\)是\(y\)的祖先,那么绝对值较大的点的符号决定 ...

  10. uoj213 【UNR #1】争夺圣杯

    题目 设\(f_i\)表示所有长度为\(i\)的区间的最大值的和,求\(\bigoplus \sum_{i=1}^nf_i\) 不难发现随机数据非常好做 由于一个随机序列的前缀最大值期望只会变化\(\ ...