簡體   English   中英

Pywinauto:如何調整活動 window 的大小

[英]Pywinauto: How to resize active window

我正在嘗試自動化一些 windows 任務,我得到了 dataframe 的所有 windows 打開,然后我添加了一些驗證,然后繼續進行自動化操作。

在我從set_focus() function 激活 window 后,我根本無法調整任何 window 的大小,根本沒有任何反應。

我已經嘗試過使用win32gui解決方案:

current = win32gui.GetForegroundWindow()
win32gui.MoveWindow(current, 0, 0, 100, 100, True)

我也嘗試使用pygetwindow函數來resizeTosize ,但也沒有任何反應。

如果我運行以下命令app.move_window(x=None, y=None, width=100, height=100, repaint=True) : AttributeError: 'UIAWrapper' object has no attribute 'move_window'

我的代碼:

from pywinauto import Desktop
import pandas as pd

windows = Desktop(backend="uia").windows()
window = [w.window_text() for w in windows]

# Create a dataframe in order to store the windows needed
df_windows = pd.DataFrame(window, columns =['WebBrowser'])
# Filter dataframe only to show all windows from Brave web browser
df_windows = df_windows.loc[df_windows['WebBrowser'].str.contains("Brave:", case=False)]
# Add column profile from Brave
df_windows['Profile'] = df_windows['WebBrowser'].str.split(':').str[1].str.strip()
# Add column window open from Brave
df_windows['Window'] = df_windows['WebBrowser'].str.split(':').str[0].str.strip()
# Add column about the website open from Brave
df_windows['Website'] = df_windows['Window'].str.replace(" - Brave", "").str.strip()
# Filter dataframe only to show all bombcrypto game window
df_windows = df_windows.loc[df_windows['Website'] == 'GuilhermeMatheus']

print(df_windows)

for x in df_windows['WebBrowser']:
    print(x)
    app = Desktop(backend="uia").windows(title=x)[0]
    app.set_focus()
    app.move_window(x=None, y=None, width=100, height=100, repaint=True)

如何在set_focus()之后調整活動 window 的大小?

我建議為 UIAWrapper 對象嘗試這些方法。 在您的代碼中,它應該如下所示:

app.wrapper_object().iface_transform.Move(x, y)
app.wrapper_object().iface_transform.Resize(width, height)

要了解此 TransformPattern 是否可用,讓我們使用“操作”菜單中的 Inspect.exe 來檢查所選 window 的情況:

操作菜單中的變換模式

在下一個主要版本(尚未發布)中,我們實現了包含方法move_window的 WindowWrapper,該方法使用上述 TrasformPattern 方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM