【发布时间】:2018-11-24 17:11:48
【问题描述】:
我需要使用 python pywinauto 库调整记事本的大小。
我正在使用下面的代码来启动记事本:-
from pywinauto import application
app = application.Application()
app.start("Notepad.exe")
【问题讨论】:
我需要使用 python pywinauto 库调整记事本的大小。
我正在使用下面的代码来启动记事本:-
from pywinauto import application
app = application.Application()
app.start("Notepad.exe")
【问题讨论】:
我使用以下代码对记事本做同样的事情:
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 做到这一点。接下来我会研究的。
【讨论】: