python--控制窗体
窗体的显示和隐藏
#!/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--控制窗体的更多相关文章
- Ruby操作VBA的注意事项和技巧(2):宏里调用和控制窗体以及窗体上的控件、不同workbook之间的宏互相调用
4.宏里调用并控制窗体以及窗体上的各种控件 1 Sub Criterion_Check() 2 If Workbooks.count = 0 Then '如果当前没有打开的工作薄的话需要发出警告 3 ...
- 单件模式Singleton来控制窗体被重复或多次打开
本文转载:http://blog.csdn.net/a0700746/article/details/4473796 一般在百度搜一下,会出来一下内容,看来很好用.Singleton很方便的一个用处就 ...
- python控制selenium点击登录按钮时报错 unknown error: Element is not clickable at point
利用python控制selenium进行一个网页的登录时报错: C:\Users\Desktop\selenium\chrome>python chrome.py selenium.common ...
- DotNetBar如何控制窗体样式
在C#中使用控件DevComponents.DotNetBar时,如何创建一个漂亮的窗口,并控制窗体样式呢? 1.新建一个DotNetBar窗体 2.使OFFICE窗口风格 ...
- 使用Python控制1602液晶屏实时显示时间(附PyCharm远程调试)
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文介绍一下UP板的GPIO资源使用,以及一个使用Python演示一个简单的demo. 本文使用Markdown写成,为获得更好的 ...
- 使用python控制nginx禁封ip
python控制nginx禁封ip nginx中的access.log最近有大量的用户访问,怎么样屏蔽掉在一定时间段内访问次数多的ip呢? 测试准备: 两个tomcat,一个nginx做均衡负载,服务 ...
- python应用-使用python控制win2003服务器
经调研和测试,服务端可通过ansible控制各linux服务器(容器),进行各类操作,且支持远程控制windows服务器,但windows操作系统中,需安装.net及powershell3.0及以上版 ...
- pyMagic:用python控制的Geek入门神器
大学四年快要结束了,这几年也学习了一点新的姿势.最近一直在跟国外的micropython项目,这个项目是由剑桥大学的理论物理学家(theoretical physicist)Damien George ...
- 【328】Python 控制鼠标/键盘+图片识别 综合应用
本文是基于 [267]实现跨网络传数据 的基础上的,由于在弹出 putty 之后,需要手动输入命令(pass.sh.get.sh)来实现数据的传递,另外就是处理完之后需要手动关闭 putty,本文解决 ...
- 用python控制路由器
前言 最近用爬虫爬豆瓣上的资料,无奈总是被封,agent伪装和cookie修改这些都用过了,可惜都起不了什么作用,到了一定次数,还是会返回403.想用代理ip,无奈免费的太不稳定,买收费的又有点没必要 ...
随机推荐
- JAVA-数组或集合
哈哈,今天我们来讲解一下有关于一些数组 或者是集合的知识点 1.ArrayList,LinkedList,Vector的区别 ArrayList,LinkedList,Vector都是实现List接口 ...
- spark练习---ip匹配以及广播的特性
今天,我们还是在介绍spark的小练习,这次的小练习还是基于IP相关的操作,我们可以先看一下今天的需求,我们有两个文件, 第一个文件,是IP的字典,也就是我们上一篇介绍过的,就是表明了所有IP字段所属 ...
- sqlsever存储过程学习笔记
1,创建数据表 use test create table money( id ,) primary key, money int, monetary_unity char ); 2,考虑到货币单位的 ...
- 剑指Offer - 九度1385 - 重建二叉树
剑指Offer - 九度1385 - 重建二叉树2013-11-23 23:53 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的 ...
- 《Cracking the Coding Interview》——第1章:数组和字符串——题目6
2014-03-18 01:45 题目:给定一个NxN的矩阵,就地旋转90度.(没有样例又不说方向的话,随便往哪儿转.) 解法:如果N为奇数,除了中心点以外四等分.如果N为偶数,四等分.按照A-> ...
- centos6安装openfire(mysql)
一.安装JDK 我的系统是centos6.8x64,首先安装jdk1.7.0 二.安装openfire 我装的包是:openfire-3.9.3-1.i386.rpm,复制到/opt目录 #rpm - ...
- win 7 查看端口被占用
开始---->运行---->cmd,或者是window+R组合键,调出命令窗口 输入命令:netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口,比如是4915 ...
- 一个初学者的辛酸路程-前端cs
一.主要内容 继续CSS 二.CSS 第一个: postion 网页有一类就是返回顶部,一直在右下角,还有打开一个网页顶部有个菜单,滚动滑轮,顶部永远在上面. position: fiexd == ...
- JNDI和JDBC的区别和联系及其使用方法
一.JNDI 和JDBC的区别和联系 两者都是API,是连接数据库的标准.并不是什么产品或方法. 二.JDBC 全称:Java Database Connectivity 以一种统一的方式来对各种各样 ...
- 用js做的表单的增,删,以及全选
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>创 ...