Я использую следующий код, чтобы сделать то же самое с Блокнотом:
from pywinauto import application
app = application.Application()
app.start("Notepad.exe")
app.Notepad.move_window(0,0,400,400)
Это довольно просто и работает для меня.Тем не менее, я хотел бы сделать это с Excel (и Outlook, Edge и Google Chrome).Кто-нибудь знает, как это сделать с этими другими приложениями тоже?Я часами охотился и не могу найти, как, но нашел много ссылок на pywinauto на этом веб-сайте.Приложения будут открываться нормально, но я не могу переместить / изменить их размер, что я действительно хотел бы сделать.
ОБНОВЛЕНИЕ: я составил следующий код, который открывает книгу Excel, перемещает и изменяет ее размер:
import win32gui, win32con, win32api
from win32com.client import DispatchEx # Note - "Dispatch" opens in existing instance of Excel, "DispatchEx" opens in new instance
workbook = 'C:\\Users\\*user*\\Documents\\book1.xlsm'
xl = DispatchEx('Excel.Application')
xl.Visible = 1
try:
xl.Workbooks.Open(workbook)
except:
print(workbook + ' not found')
try:
hwnd = win32gui.FindWindow(None, workbook.split("\\")[-1] + ' - Excel')
# Move windows to specified location and size
win32gui.MoveWindow(hwnd, 0, 0, 1920, 1042, True)
# Maximize window
#win32gui.ShowWindow(hwnd, win32con.SW_MAXIMIZE)
except:
print("Error moving and resizing " + workbook)
Я не специалист по программированию на Python, поэтому любые улучшения приветствуются.Я также хотел бы иметь возможность сделать это с Edge, Chrome и Outlook.Я буду смотреть на это дальше.