我需要使用python pywinauto库调整记事本的大小。
我正在使用以下代码启动记事本:-
from pywinauto import application
app = application.Application()
app.start("Notepad.exe")
答案 0 :(得分:2)
尝试一下:
from pywinauto import application
app = application.Application()
app.start("Notepad.exe")
dlg_spec = app.window()
dlg_spec.move_window(x=None, y=None, width=200, height=100, repaint=True)
如果您在x和y中指定了某些内容而不是“无”,则可以移动它。
答案 1 :(得分:-1)
我使用以下代码对记事本进行相同操作:
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做到这一点。接下来,我将进行调查。