【问题标题】:How do I open a minimized window using python?如何使用 python 打开最小化窗口?
【发布时间】:2020-05-29 18:31:42
【问题描述】:

是否可以在 Windows 10 上使用 python 取消最小化最小化窗口? (我使用的是 python 3.8)

我会添加更多细节,但这就是我需要说的全部内容。

【问题讨论】:

  • 微软视窗?
  • @Heitor Chang 耶
  • 我正在调查,有希望的领先者是 pywin32 和 win32gui,不幸的是它们不能在 Python 3.7 或 3.8 上运行。是否有可能降级您的 Python(或使用 virtualenv)?如果一切都失败了,你应该看看 AutoIt
  • 一个最小化的窗口属于您的应用程序(在这种情况下,您使用的 GUI 工具包几乎肯定是相关的),还是属于另一个应用程序?
  • @Heitor Chang 是的,我可以降级一点

标签: python python-3.7


【解决方案1】:

我结合了来自多个来源的信息并使其工作(Miniconda Python 3.6,Windows 10)

import win32gui
import win32con

def windowEnumHandler(hwnd, top_windows):
    top_windows.append((hwnd, win32gui.GetWindowText(hwnd)))

def bringToFront(window_name):
    top_windows = []
    win32gui.EnumWindows(windowEnumHandler, top_windows)
    for i in top_windows:
        # print(i[1])
        if window_name.lower() in i[1].lower():
            # print("found", window_name)
            win32gui.ShowWindow(i[0], win32con.SW_SHOWNORMAL)
            win32gui.SetForegroundWindow(i[0])
            break

# Test with notepad
if __name__ == "__main__":
    winname = "notepad"
    bringToFront(winname)

Handler 不是最优的;它吐出不是任务栏中窗口的各种进程。但是,只要您的 window_name 是具体的,我认为您不会遇到问题。如果您删除break,所有匹配项都将“打开”。

来源:Mouse and Python Blog

Another StackOverflow question

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多