通过pywinauto调整记事本大小

问题描述 投票:1回答:2

我需要使用python pywinauto库来调整​​记事本的大小。

我使用以下代码启动记事本: -

from pywinauto import application
app = application.Application()
app.start("Notepad.exe")
python window pywinauto
2个回答
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中指定了一些而不是None,则可以移动它。

更多信息herehere


-1
投票

我使用以下代码对记事本执行相同的操作:

from pywinauto import application
app = application.Application()
app.start("Notepad.exe")
app.Notepad.move_window(0,0,400,400)

这很简单,适合我。但是,我想用Excel(和Outlook,Edge和谷歌浏览器)这样做。有谁知道如何使用这些其他应用程序呢?我已经狩猎了几个小时但找不到怎么做,但在这个网站上发现了很多关于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执行此操作。接下来我会调查一下。

© www.soinside.com 2019 - 2024. All rights reserved.