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