Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法通过Python 3最小化Windows 7中的窗口?_Python_Windows_Winapi - Fatal编程技术网

有没有办法通过Python 3最小化Windows 7中的窗口?

有没有办法通过Python 3最小化Windows 7中的窗口?,python,windows,winapi,Python,Windows,Winapi,我正在运行一个带有内置Python解释器的程序。周期性地,我希望该程序能够进入“全屏”或最小化 这将在Windows 7上运行 我想知道是否有一种方法可以在Python中实现这一点(这样我就可以从程序中调用函数)。只使用标准库是理想的,但如果有一种方法可以通过外部模块实现这一点,那也很好 谢谢。要最小化窗口,您需要知道窗口的标题或窗口类。当确切的窗口标题未知时,窗口类很有用。例如,以下脚本显示了最小化Microsoft Windows记事本应用程序的两种不同方法,假设: import ctype

我正在运行一个带有内置Python解释器的程序。周期性地,我希望该程序能够进入“全屏”或最小化

这将在Windows 7上运行

我想知道是否有一种方法可以在Python中实现这一点(这样我就可以从程序中调用函数)。只使用标准库是理想的,但如果有一种方法可以通过外部模块实现这一点,那也很好


谢谢。

要最小化窗口,您需要知道窗口的标题或窗口类。当确切的窗口标题未知时,窗口类很有用。例如,以下脚本显示了最小化Microsoft Windows记事本应用程序的两种不同方法,假设:

import ctypes

notepad_handle = ctypes.windll.user32.FindWindowW(None, "Untitled - Notepad")
ctypes.windll.user32.ShowWindow(notepad_handle, 6)

notepad_handle = ctypes.windll.user32.FindWindowW(u"Notepad", None) 
ctypes.windll.user32.ShowWindow(notepad_handle, 6)  
要确定要使用的类名,您需要使用诸如Microsoft Spy++之类的工具。显然,如果用文件打开记事本,它会有不同的标题,例如
test.txt-Notepad
。如果是这种情况,第一个示例现在将无法找到窗口,但第二个示例仍然有效

如果有两份记事本正在运行,那么只有一份会被关闭。如果需要关闭所有副本,则需要枚举所有需要更多代码的窗口


该命令还可用于恢复窗口。此处使用的
6
是用于
SW\u MINIMIZE

的Windows代码,该窗口的名称是什么,可以更改吗?它只是一个弹出式视频窗口。我无法控制更改它。你是如何创建窗口的?正是我想要的。纯python语言。很好的回答:按类查找时,为什么将
u
放在
Notepad
之前?请看一下Microsoft对FindWindowW的定义。我似乎记得W代表宽。要最小化自己/自己的控制台窗口(python程序在其中运行):
6
SW\u minimize
的代码。查看
ShowWindow
链接了解更多选项。