窗体的显示和隐藏

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat import win32con
import win32gui # 以qq为例子
qqWin = win32gui.FindWindow("TXGuifoundation", "QQ") # 接收两个参数,一个是程序的类,一个是标题.目的是找到窗体 # 然后让窗体显示出来
win32gui.ShowWindow(qqWin, win32con.SW_SHOW) # 也可以让窗体消失
win32gui.ShowWindow(qqWin, win32con.SW_HIDE)

控制窗体的位置和大小

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat import win32gui
import win32con qqWin = win32gui.FindWindow("TXGuiFoundation", "QQ") # 主要要接收如下参数
# 参数一:控制的窗体
# 参数二:大致方位:HWND_TOPMOST,位于上方
# 参数三:位置x
# 参数四:位置y
# 参数五:长度
# 参数六:宽度
# 参数七:比较固定,就是让窗体一直显示
win32gui.SetWindowPos(qqWin, win32con.HWND_TOPMOST, 100, 100, 300, 300, win32con.SWP_SHOWWINDOW)

让窗体满屏幕乱跑

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat import win32gui
import win32con
import random qqWin = win32gui.FindWindow("TXGuiFoundation", "QQ") # 将位置变成随机数
while True:
x = random.randint(1, 800)
y = random.randint(1, 400)
win32gui.SetWindowPos(qqWin, win32con.HWND_TOPMOST, x, y, 300, 300, win32con.SWP_SHOWWINDOW)

语音合成

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat import win32com.client
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("satori,i love you ")

内存修改

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat import win32process
import win32gui
import win32api
import ctypes # 打开进程要以管理员的方式,才能修改
PROCESS_ALL_ACCESS = (0X000F0000 | 0x00100000 | 0xFFF) # 找窗体
qqWin = win32gui.FindWindow("TXGuiFoundation", "QQ") # 根据窗体找到进程号
hid, pid = win32process.GetWindowThreadProcessId(qqWin) # 以最高权限打开进程
p = win32api.OpenProcess(PROCESS_ALL_ACCESS, False, pid) #
# data = ctypes.c_long() # 加载内核模块
md = ctypes.windll.LoadLibrary(r"c:\windows\system32\kernel32") # 参数为空,因此data负责保存信息
data = ctypes.c_long() # 读取内存
# 接收三个参数
# 参数一:上面的p,打开进行之后的返回值
# 参数二:内存地址
# 参数三:ctypes.byref(data),表示把数据放在data里
# 参数四:读多少个字节
# 参数五:错误信息
md.ReadProcessMemory(int(p), 311944712, ctypes.byref(data), 4, None) print("data=", data) # 新值
# 因此最终再把参数里的值写入内存中,从而达到修改的效果
newData = ctypes.c_long(10000) # 将值再写进去
# 上一个Data,c_long()参数为空,负责接收数据
# 现在的newData,c_long(10000)参数有值,负责把值写进去
md.WriteProcessMemory(int(p), 311944712, ctypes.byref(newData), 4, None)

python--控制窗体的更多相关文章

  1. Ruby操作VBA的注意事项和技巧(2):宏里调用和控制窗体以及窗体上的控件、不同workbook之间的宏互相调用

    4.宏里调用并控制窗体以及窗体上的各种控件 1 Sub Criterion_Check() 2 If Workbooks.count = 0 Then '如果当前没有打开的工作薄的话需要发出警告 3 ...

  2. 单件模式Singleton来控制窗体被重复或多次打开

    本文转载:http://blog.csdn.net/a0700746/article/details/4473796 一般在百度搜一下,会出来一下内容,看来很好用.Singleton很方便的一个用处就 ...

  3. python控制selenium点击登录按钮时报错 unknown error: Element is not clickable at point

    利用python控制selenium进行一个网页的登录时报错: C:\Users\Desktop\selenium\chrome>python chrome.py selenium.common ...

  4. DotNetBar如何控制窗体样式

    在C#中使用控件DevComponents.DotNetBar时,如何创建一个漂亮的窗口,并控制窗体样式呢?   1.新建一个DotNetBar窗体             2.使OFFICE窗口风格 ...

  5. 使用Python控制1602液晶屏实时显示时间(附PyCharm远程调试)

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文介绍一下UP板的GPIO资源使用,以及一个使用Python演示一个简单的demo. 本文使用Markdown写成,为获得更好的 ...

  6. 使用python控制nginx禁封ip

    python控制nginx禁封ip nginx中的access.log最近有大量的用户访问,怎么样屏蔽掉在一定时间段内访问次数多的ip呢? 测试准备: 两个tomcat,一个nginx做均衡负载,服务 ...

  7. python应用-使用python控制win2003服务器

    经调研和测试,服务端可通过ansible控制各linux服务器(容器),进行各类操作,且支持远程控制windows服务器,但windows操作系统中,需安装.net及powershell3.0及以上版 ...

  8. pyMagic:用python控制的Geek入门神器

    大学四年快要结束了,这几年也学习了一点新的姿势.最近一直在跟国外的micropython项目,这个项目是由剑桥大学的理论物理学家(theoretical physicist)Damien George ...

  9. 【328】Python 控制鼠标/键盘+图片识别 综合应用

    本文是基于 [267]实现跨网络传数据 的基础上的,由于在弹出 putty 之后,需要手动输入命令(pass.sh.get.sh)来实现数据的传递,另外就是处理完之后需要手动关闭 putty,本文解决 ...

  10. 用python控制路由器

    前言 最近用爬虫爬豆瓣上的资料,无奈总是被封,agent伪装和cookie修改这些都用过了,可惜都起不了什么作用,到了一定次数,还是会返回403.想用代理ip,无奈免费的太不稳定,买收费的又有点没必要 ...

随机推荐

  1. Eclipse+Tomcat7.0+MySQL 连接池设置

    http://blog.sina.com.cn/s/blog_85d71fb70101ab99.html 工程名:JavaWeb 第一步:配置server.xml 在Tomcat的server.xml ...

  2. 多个".h"文件中声明及定义 全局变量和函数

    一.".h"文件必须以如下格式书写 例:文件<CZ_efg_hi.h"> ------------文件内容----------- #ifndef CZ_Efg ...

  3. [记读书笔]python3.5实现socket通讯(UDP)

    UDP连接: 无连接,从一个端向另一端发送独立的数据分组 使用UDP连接的客户-服务器程序: UDPServer.py import socket serverPort = 50009 serverS ...

  4. (D)spring boot使用注解类代替xml配置实例化bean

    bean经常需要被实例化,最常见的就是new一个呗,Bean bean = new Bean(),方便好用还快捷. 然而在我们刚开始学习写i项目的时候却发现,new不好用哦,并且也不报错,根本不知道怎 ...

  5. [转] PHP在不同页面之间传值的三种常见方式

    转自: http://my.oschina.net/jiec/blog/196153 一. POST传值 post传值是用于html的<form>表单跳转的方法,很方便使用.例如: < ...

  6. python学习笔记十一:操作mysql

    一.安装MySQL-python # yum install -y MySQL-python 二.打开数据库连接 #!/usr/bin/python import MySQLdb conn = MyS ...

  7. 转:Redis设置认证密码 Redis使用认证密码登录 在Redis集群中使用认证密码

    Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用.这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安 ...

  8. Java基础-7数组

    一).什么是数组: 数组是一组具有相同类型和名称的变量集合,把一系列相同类型的数据保存在一起,这些变量称为数组的元素:每个元素都有一个编号,这个编号叫做下标,下标从 0 开始:元素的个数被称为数组的长 ...

  9. Python之日志处理 logging模块

    Python之日志处理(logging模块)   本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四 ...

  10. net对象的克隆

    class Person { public string name; public List<string> hobby; } void main() { Person p1 = new ...