【使用Python编写游戏辅助工具】第四篇:Windows窗口操作
前言
这里是【使用Python编写游戏辅助工具】的第四篇:Windows窗口操作。本文主要介绍使用
Python
来实现Windows窗口的各种操作。
Windows窗口操作是游戏辅助功能中不可或缺的一部分。
Windows窗口操作指的是与Windows操作系统中的窗口进行交互和控制的操作:
- 后台挂机: 有些游戏需要前台挂机才会有收益。但是我想做的是后台挂机也有收益,这个就是刚需;
- 隐藏窗口: 在(学习&上学&上班)使用电脑时候,有时候压力大了想开始游戏放松一下,突然(家长&老师&领导)走了过来,这时候即使是最小化游戏,在任务栏也还能看到游戏的图标。所以非常需要隐藏游戏窗口。
文章脉络⚡⚡
本文的流程和功能如下图所示:
- 使用Python去操作Windows的窗口;
- 如将窗口设置到最前台、显示窗口、隐藏窗口、最大化最小化和关闭窗口等。
前台窗口、隐藏窗口和显示窗口是在窗口管理和用户交互方面常用的功能。它们的作用如下:
前台窗口(Foreground Window):
作用:将指定的窗口设置为最前台,使其处于活动状态并显示在其他窗口之上。
使用场景:当你希望某个窗口在其他窗口之上显示,并且接收用户的输入和操作时,可以将其设置为前台窗口。
隐藏窗口(Hide Window):
作用:隐藏指定的窗口,使其在屏幕上不可见。
使用场景:当你希望临时隐藏某个窗口,不让其显示在屏幕上,但并不销毁该窗口,以便在需要时重新显示。
显示窗口(Show Window):
作用:显示或恢复被隐藏的窗口,使其在屏幕上可见。
使用场景:当你需要重新显示之前隐藏的窗口时,可以使用此功能。
这些功能对于窗口管理和用户体验有着重要的作用。通过隐藏窗口,你可以在不删除窗口的情况下暂时将其隐藏起来,避免在屏幕上占用空间。通过设置前台窗口,你可以确保某个窗口在其他窗口之上显示,并接受用户的操作。而显示窗口则允许你重新显示之前被隐藏的窗口,使其再次可见。
摸鱼挂机必备功能!!!
系列文章脉络
系列文章内容大体如下,后续可能会更新新的文章。
- 点击直达:【使用Python编写游戏辅助工具】第一篇:概述
- 点击直达:【使用Python编写游戏辅助工具】第二篇:键盘监听的应用
- 点击直达:【使用Python编写游戏辅助工具】第三篇:鼠标连击器的实现
- 点击直达:【使用Python编写游戏辅助工具】第四篇:Windows窗口操作
- 点击直达:【使用Python编写游戏辅助工具】第五篇:打造交互式游戏工具界面:PySide/PyQT高校构建GUI工具
知识点📖📖
库和模块 | 描述 |
---|---|
pywin32 | 提供了与Windows操作系统交互的功能,如操作窗口、注册表等(这里用于窗口操作) |
据官网介绍,pywin32是Python for Win32 (pywin32)的扩展,它提供了从 Python 访问许多 Windows API 的途径。
安装依赖
pip install pywin32
安装完成之后,pywin32有多个模块
import win32api # 窗口和系统函数
import win32gui # 窗口界面函数
import win32con # 常量定义
import win32process # 进程函数
但是在这里,我们只需要使用 win32gui
和 win32con
即可。
使用步骤如下:
- 使用
win32gui.FindWindow()
查找窗口句柄; - 使用
win32gui.SetForegroundWindow()
设置前台窗口; - 使用
win32gui.ShowWindow()
进行显示和隐藏窗口; - 使用
win32gui.CloseWindow()
进行关闭窗口; - 使用
win32gui.ShowWindow
进行最大化和最小化窗口; - …
这个模块就可以很好的实现本文的主题。
Windows窗口操作✨✨
需要注意的是,系统的学习还请看官方文档,这里只是对pywin32功能的一些介绍,并不够全面。
获取窗口句柄
# -*- coding: utf-8 -*-
# Name: win_operate.py
import win32gui
import win32con
def get_window_handle(class_name=None, title=None):
"""
通过类名和标题查找窗口句柄.
Args:
class_name(str|None):窗口的类名. 默认为None.
title(str|None):窗口的标题. 默认为None.
Returns:
int: 返回找到的窗口句柄,如果没有找到则返回0.
"""
return win32gui.FindWindow(class_name, title)
窗口设置前台🎃🎃
def set_top_window(title=None):
"""
窗口置顶
Args:
title(str|None):窗口的标题. 默认为None.
Returns:
None
"""
hwnd = get_window_handle(title=title)
if hwnd:
win32gui.SetForegroundWindow(hwnd)
if __name__ == '__main__':
win_title = '咸鱼之王'
set_top_window(title=win_title)
运行效果:
显示窗口🎣🎣
显示窗口 结合 设置前台窗口,将窗口展示出来。
def show_window(title=None):
"""
显示窗口
Args:
title(str|None):窗口的标题. 默认为None.
Returns:
None
"""
hwnd = get_window_handle(title=title)
if hwnd:
win32gui.ShowWindow(hwnd, win32con.SW_SHOW)
if __name__ == '__main__':
win_title = '咸鱼之王'
show_window(title=win_title)
set_top_window(title=win_title)
运行效果:
隐藏窗口🎶🎶
隐藏窗口 结合 设置前台窗口,将窗口显示出来。达到窗口不显示,但又在运行的状态。
def hide_window(title=None):
"""
隐藏窗口
Args:
title(str|None):窗口的标题. 默认为None.
Returns:
None
"""
hwnd = get_window_handle(title=title)
if hwnd:
win32gui.ShowWindow(hwnd, win32con.SW_HIDE)
if __name__ == '__main__':
win_title = '咸鱼之王'
hide_window(title=win_title)
set_top_window(title=win_title)
运行效果:
关闭窗口🤞🤞
def close_window(title=None):
"""
关闭窗口
Args:
title(str|None):窗口的标题. 默认为None.
Returns:
None
"""
hwnd = get_window_handle(title=title)
if hwnd:
win32gui.CloseWindow(hwnd)
if __name__ == '__main__':
win_title = '咸鱼之王'
close_window(title=win_title)
最大化窗口🤿🤿
def maximize_window(title=None):
"""
窗口最大化
Args:
title(str|None):窗口的标题. 默认为None.
Returns:
None
"""
hwnd = get_window_handle(title=title)
if hwnd:
win32gui.ShowWindow(hwnd, win32con.SW_MAXIMIZE)
if __name__ == '__main__':
win_title = '咸鱼之王'
maximize_window(title=win_title)
最小化窗口🎉🎉
def minimize_window(class_name=None, title=None):
"""
窗口最小化
Args:
title(str|None):窗口的标题. 默认为None.
Returns:
None
"""
hwnd = get_window_handle(title=title)
if hwnd:
win32gui.ShowWindow(hwnd, win32con.SW_MINIMIZE)
if __name__ == '__main__':
win_title = '咸鱼之王'
minimize_window(title=win_title)
总结🎈🎈
当使用Python编写游戏辅助工具时,Windows窗口操作是一个重要的方面。本文提供了关于Windows窗口操作的详细介绍。
文章首先概述了Windows窗口操作的定义和目的,以及在游戏中可能需要使用的窗口操作。接着,讨论了如何使用Python库进行窗口查找和识别,包括通过窗口标题、类名等特征进行查找。
文章进一步介绍了窗口操作技巧,包括移动、调整大小和最小化窗口,以及获取窗口句柄和属性信息的方法。这些技巧对于自定义窗口行为和用户界面设计非常有用。
总而言之,本文通过详细介绍Windows窗口操作的概念,帮助读者理解和应用Python在游戏辅助工具开发中的窗口操作功能。
- 点赞
- 收藏
- 关注作者
评论(0)