Python win32gui模块详解,窗体控制模块使用指南-程序员宅基地

技术标签: python win32gui模块详解  

1. 工具:Spy++和win32con控件、win32gui控件

现在这个工具:

12b6e878f1a6f4826b9f898f40fc1d1e.png

以QQ为例我们可以拖住的方式获取窗口的信息。

我们在需要Python的另外两个模块

按照Python32位版本,通过黑屏终端的命令进行按照

333c26f16dd98916c05b8ed5887aeb40.png

如果我们在按照的过程中如下:

48304ba5e6f9fe08f3fa1abda7d326ab.png

# cmd窗口

# Microsoft Windows [版本10.0.17763.437]

# (c)2018Microsoft Corporation。保留所有权利。

#

# C:\windows\system32>pip install pywin32

# Collecting pywin32

# Downloading https://files.pythonhosted.org/packages/a3/8a/eada1e7990202cd27e58eca2a278c344fef190759bbdc8f8f0eb6abeca9c/pywin32-224-cp37-cp37m-win_amd64.whl (9.0MB)

# 100% |████████████████████████████████| 9.1MB 424kB/s

# Installing collected packages: pywin32

# Successfully installed pywin32-224# You areusing pip version 19.0.3, however version 19.1.1 isavailable.

# You should consider upgrading via the'python -m pip install --upgrade pip' command.

48304ba5e6f9fe08f3fa1abda7d326ab.png

如果我们遇到安装错误,可以通过python -m pip install --upgrade pip更新云端的方式在进行安装就没有这方面问题了

48304ba5e6f9fe08f3fa1abda7d326ab.png

# C:\windows\system32># C:\windows\system32>python -m pip install --upgrade pip

# Collecting pip

# Downloading https://files.pythonhosted.org/packages/5c/e0/be401c003291b56efc55aeba6a80ab790d3d4cece2778288d65323009420/pip-19.1.1-py2.py3-none-any.whl (1.4MB)

# 100% |████████████████████████████████| 1.4MB 964kB/s

# Installing collected packages: pip

# Found existing installation: pip19.0.3# Uninstalling pip-19.0.3:

# Successfully uninstalled pip-19.0.3# Successfully installed pip-19.1.1#

# C:\windows\system32>

48304ba5e6f9fe08f3fa1abda7d326ab.png

2. 就绪了,开始操作

举例1:找出窗体的编号、隐藏窗体、显示窗体

48304ba5e6f9fe08f3fa1abda7d326ab.png

import win32con

import win32gui

import time

import random

# 找出窗体编号

QQWin= win32gui.FindWindow("TXGuiFoundation","QQ") # 类名,标题

CmdWin= win32gui.FindWindow("ConsoleWindowClass","管理员: C:\windows\system32\cmd.exe") # 控制CMD窗体

# 隐藏窗体

win32gui.ShowWindow(QQWin,win32con.SW_HIDE)

# 显示窗体

win32gui.ShowWindow(QQWin,win32con.SW_SHOW)

48304ba5e6f9fe08f3fa1abda7d326ab.png

举例2:恶作剧:是窗体不断的打开关闭

48304ba5e6f9fe08f3fa1abda7d326ab.png

import win32con

import win32gui

import time

import random

# 恶作剧1:使窗体不断的打开关闭whileTrue:

win32gui.ShowWindow(QQWin,win32con.SW_HIDE)

time.sleep(1)

win32gui.ShowWindow(QQWin,win32con.SW_SHOW)

time.sleep(1)

48304ba5e6f9fe08f3fa1abda7d326ab.png

举例3:控制窗体的大小

# 参数1:控制窗体位置

# 参数2:大致方位,HWND_TOPMOST上方

# 参数3:位置x

# 参数4:位置y

# 参数5:长度

# 参数6:宽度

# 参数7:显示

win32gui.SetWindowPos(QQWin,win32con.HWND_TOPMOST,100,100,300,300,win32con.SWP_SHOWWINDOW)

举例4:恶作剧2:使窗体不断的变换大小

# 恶作剧2:使窗体不断的变换大小whileTrue:

x= random.randrange(900)

y= random.randrange(900)

win32gui.SetWindowPos(QQWin,win32con.HWND_TOPMOST,100,100,

x,y,win32con.SWP_SHOWWINDOW)

图示略:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_32126843/article/details/114393597

智能推荐

Mysql学习_InnoDB On-Disk Structures_TABLE_mysql table is disabled-程序员宅基地

文章浏览阅读409次。InnoDB On-Disk StructuresTableCreating InnoDB Tables:CREATE TABLE t1 (a INT, b CHAR (20), PRIMARY KEY (a)) ENGINE=InnoDB;You do not need to specify the ENGINE=InnoDB clause if InnoDB is defined ..._mysql table is disabled

bzoj3296: [USACO2011 Open] Learning Languages(并查集)-程序员宅基地

文章浏览阅读248次。题目传送门 。解法: 并查集。 一头牛连向他能说的语言。 然后可以通过翻译的话就相当于双向边咯。 意思就是牛可以去找语言,语言也可以找牛。 最后记录有多少个不同的集合-1即可代码实现:#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream&gt..._bzoj3296

无线接入认证web服务器搭建,基于WEB和RADIUS的无线局域网接入认证系统-程序员宅基地

文章浏览阅读1.2k次。摘要:无线局域网的安全运营管理是近年的研究热点,而用户的接入认证是网络安全管理和运营的基础.常见的接入认证技术有PPPoE,IEEE 802.1x和Web认证三种.本文针对无线局域网的特点,以用户进行认证的便利性和易于维护性为依据,致力于开发基于WEB和RADIUS(远端拨入用户认证服务)的接入认证系统. 论文首先进行WEB认证系统总体设计,选择Linux作为开发环境.通过深入剖析Netfilte..._wifi web认证服务器搭建

解决conda 安装时的HTTP报错CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs_linux conda 报错 condahttperror: http 000 connection-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。错误代码:CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/linux-64/current_repodata.json>Elapsed: -An HTTP error occurred when trying to retrieve this URL.HTTP errors are often intermittent, and a simple retry _linux conda 报错 condahttperror: http 000 connection failed for url <>

linux终端声音设置,终端命令设置音量?-程序员宅基地

文章浏览阅读510次。问题描述我有一个外部声卡,大部分工作正常,除了第一次插入时或打开笔记本电脑时,音量设置为100%。也就是整个系统音量,如声音指示器所示。我正在寻找的是一个终端命令,将该音量设置为50%,这样我就可以在登录时运行它,而不必担心如果我忘记了转动,我播放的第一个音频会在我身上发出声音音量降低。哪些命令允许您更改该音量,即声音指示器中的音量?我用gsettings和dbus四处探索,但一直无法找到任何可以..._amixer -q -d pulse sset master 5%- unmute

form表单,formdata对象,实现文件上传_formdata文件上传-程序员宅基地

文章浏览阅读3.1k次。action提交表单时,向何处发送表单数据target在何处打开url_blank在新窗口打开_self在同一个窗口打开默认_parent_topmethod属性以何种方式把表单数据提交到actionurlGET/POSTenctype属性发送表单数据之前如何对数据进行编码——上传图片post......_formdata文件上传

随便推点

android Listview 软引用SoftReference异步加载图片_listview软引用-程序员宅基地

文章浏览阅读1.9k次。网上软应用的例子很多,我也是借鉴别人修改了下,推荐一个网址:http://www.iteye.com/topic/685986 之前总是不太理解,今天认真的推敲下,记录下来方便以后用到. HashMap> imageCache 关于SoftReference这个类多少知道些机制,会用就ok了。 机制:简单来说,她会帮助我们管理内存,防止内存溢出,另外一点也_listview软引用

spark1.0-集群搭建_e5 2690-程序员宅基地

文章浏览阅读832次。背景机器环境:部门有10台服务器,每台配置为:intel E5-2690 v3 48核,775Gb内存。搭建了hdfs,hive,spark,并且spark的资源调度方案为yarn模式。因为资源分配有限。故而在自己组所拥有的6台服务器上,手动搭建spark集群,每台配置为:intel E5-2670 v3 48核,128Gb内存,18T硬盘(一个驱动控制器口)。 任务:20T压缩包(压缩率3左右,_e5 2690

《自然语言处理:数字化时代的语言智慧》_体系化智能nlp-程序员宅基地

文章浏览阅读1.1k次,点赞45次,收藏31次。随着数字化时代的来临,自然语言处理(NLP)技术正在成为信息处理和人机交互的核心技术之一。本文将围绕NLP的技术进展、技术原理、行业应用案例、面临的挑战与机遇以及未来趋势进行详细探讨。_体系化智能nlp

Python 3+Django 3 结合Vue.js框架构建前后端分离Web开发平台实战-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏35次。学习全文大概需要 12分钟,内容实战性较强。1. 前言本篇将基于Python 3.7+Django 3.0结合Vue.js前端框架,为大家介绍如何基于这三者的技术栈来实现一个前端后离的W..._python+django+mysql+vue前后端分离开发的小型电子商务管理系统

flutter框架简单学习_flutter框架语法学习-程序员宅基地

文章浏览阅读269次。flutter框架最近在搞大创,主要课题就是flutter开发,简单认识一下本文将widget称为控件项目开篇介绍一个Flutter项目从main函数中的runApp调用开始。在ranApp函数中所接收的控件会成为整个屏幕的根控件,并覆盖在整个屏幕。(可以将这个控件理解成iOS中的rootViewController或android中在manifest文件中配置的mainActivity的界面)。而其他的控件(widget)都是在这个根控件上添加的。import 'package:flutter/_flutter框架语法学习

兼容性测试神器 responsively-app_responsivelyapp-程序员宅基地

文章浏览阅读5.8k次,点赞3次,收藏11次。官网 https://responsively.app/下载地址 https://github.com/manojVivek/responsively-app/releases当时v0.1.6,DIY设备信息后,不然新设备不会显示,还自动添加所有默认设备。几十个设备一起添加到首页,当时我的电脑直接蜂鸣了。。目前版本v0.2.0,v0.1.6那个致命bug终于修复了。自定义设备只需要填写相关信息就可以了,User-Agent可以从浏览器Copy过来比较真实。..._responsivelyapp