【问题标题】:Resizing Notepad via pywinauto通过 pywinauto 调整记事本大小
【发布时间】:2018-11-24 17:11:48
【问题描述】:

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

我正在使用下面的代码来启动记事本:-

from pywinauto import application
app = application.Application()
app.start("Notepad.exe")

【问题讨论】:

    标签: python window pywinauto


    【解决方案1】:

    试试这个:

    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

    【讨论】:

      【解决方案2】:

      我使用以下代码对记事本做同样的事情:

      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 做到这一点。接下来我会研究的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-01
        • 1970-01-01
        • 2013-07-04
        • 2012-12-18
        • 1970-01-01
        • 2013-07-22
        • 2018-05-22
        • 1970-01-01
        相关资源
        最近更新 更多