如何通过 python 和 win32api/pywinauto 按下 "Start" windows 按钮?

How can I press "Start" windows button via python and win32api/pywinauto?

如果“开始”菜单打开,我需要通过 python 隐藏它 window。 单击坐标对我不起作用,因为脚本将在 Windows 11 上 运行。 另外,如果我可以检查“开始菜单”是否可见等,那就太好了。

更新: 现在可用的代码。

desktop = Desktop(backend='uia')
start_menu = desktop.window(title='Start', control_type='Window')
if start_menu.exists():
    pywinauto.keyboard.send_keys('{LWIN down}{LWIN up}')
import pyautogui

pyautogui.hotkey('winleft')

Source Keyboard Keys

如果Win11没有什么特别的(我还没试过),在Win10上是这样的:

from pywinauto import Desktop

taskbar = Desktop(backend="uia").window(title="Taskbar", control_type="Pane")
# taskbar.dump_tree() # print the subtree like it should be coded with pywinauto

# we will check if "Start" window exists later (it's kind of locator)
start_window = Desktop(backend="uia").window(title="Start", control_type="Window")

# wait up to 2 seconds until window exists or return False
# if window already exists, it returns True almost immediately
if start_window.exists(timeout=2):
    # hide the menu
    taskbar.child_window(title="Start", control_type="Button").click()