You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python判断窗口是否处于最大化状态?

问题与脚本代码

遇到的问题

  • 使用pyautogui编写依赖鼠标坐标的窗口操作脚本时,窗口处于最小化状态会导致脚本误操作后台应用;
  • 添加Alt+空格+X的窗口最大化代码后,若窗口原本已处于最大化状态,执行该操作反而会将窗口最小化,引发错误操作。

需求与现有代码

目标是编写一个可输入搜索词或日期,同时在Dropbox、OneDrive和Google Drive中执行搜索的脚本,当前实现代码如下:

import pyautogui as gui

def getPos():
    gui.sleep(3)
    print(gui.position())

def dropbox(term):
    gui.moveTo(25, 1050)
    gui.sleep(0.5)
    gui.click()
    gui.sleep(0.5)
    gui.typewrite("google chrome")
    gui.sleep(0.5)
    gui.press("enter")
    gui.sleep(0.5)
    gui.keyDown("alt")
    gui.press(" ")
    gui.press("x")
    gui.keyUp("alt")
    gui.sleep(0.5)
    gui.moveTo(960, 50)
    gui.sleep(0.5)
    gui.typewrite("dropbox.com")
    gui.sleep(0.5)
    gui.press("enter")
    if term != "i":
        gui.sleep(1)
        gui.moveTo(1400, 95)
        gui.sleep(1)
        gui.typewrite(term)
        gui.sleep(0.5)
        gui.press("enter")

def drive(term):
    gui.moveTo(25, 1050)
    gui.sleep(0.5)
    gui.click()
    gui.sleep(0.5)
    gui.typewrite("google chrome")
    gui.sleep(0.5)
    gui.press("enter")
    gui.sleep(0.5)
    gui.keyDown("alt")
    gui.press(" ")
    gui.press("x")
    gui.keyUp("alt")
    gui.sleep(0.5)
    gui.moveTo(960, 50)
    gui.sleep(0.5)
    gui.typewrite("drive.google.com")
    gui.sleep(0.5)
    gui.press("enter")

def onedrive(term):
    gui.moveTo(25, 1050)
    gui.sleep(0.5)
    gui.click()
    gui.sleep(0.5)
    gui.typewrite("google chrome")
    gui.sleep(0.5)
    gui.press("enter")
    gui.sleep(0.5)
    gui.keyDown("alt")
    gui.press(" ")
    gui.press("x")
    gui.keyUp("alt")
    gui.sleep(0.5)
    gui.moveTo(960, 50)
    gui.sleep(0.5)
    gui.typewrite("onedrive.com")
    gui.sleep(0.5)
    gui.press("enter")

def openAll(term):
    drive(term)
    gui.sleep(0.5)
    gui.moveTo(268, 17)
    gui.click()
    gui.moveTo(960, 50)
    gui.sleep(0.5)
    gui.typewrite("onedrive.com")
    gui.sleep(0.5)
    gui.press("enter")
    gui.sleep(0.5)
    gui.moveTo(960, 50)
    gui.sleep(0.5)
    gui.moveTo(511, 14)
    gui.sleep(0.5)
    gui.click()
    gui.sleep(0.5)
    gui.moveTo(960, 50)
    gui.sleep(0.5)
    gui.typewrite("dropbox.com")
    gui.sleep(0.5)
    gui.press("enter")

print("1 = Google Drive, 2 = OneDrive, 3 = Dropbox, 4 = All of the above")
gui.sleep(0.5)
service = input("Which Service? ")
term = input("Enter a search term or enter 'i' for none ")

if service == "1":
    print("Opening: Google Drive")
    gui.sleep(1)
    drive(term)

elif service == "2":
    print("Opening: OneDrive")
    gui.sleep(1)
    onedrive(term)

elif service == "3":
    print("Opening: Dropbox")
    gui.sleep(1)
    dropbox(term)

elif service == "4":
    print("Opening: Google Drive, OneDrive and Dropbox")
    gui.sleep(1)
    openAll(term)

内容的提问来源于stack exchange,提问作者iamdeedz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 18:20:26