python win32com.client 调整窗口大小

5 投票
1 回答
5665 浏览
提问于 2025-04-30 05:37

我正在使用Python 3.4.1通过win32com.client来控制一个Windows应用程序。我可以激活这个应用程序,可以发送按键、点击等等。现在我想知道有没有办法调整窗口的大小,并把它放到一个特定的位置。我找不到相关的方法。这里有一些代码片段,让你了解我在说什么。

import win32api, win32con, time, win32com.client, random, sys, winsound, datetime

...


def click_mouse(x,y, p_wait=0.1):
    win32api.SetCursorPos((x,y))    
    time.sleep(p_wait)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)

def move_mouse(x,y):
    win32api.SetCursorPos((x,y))    
    time.sleep(0.5)

def activate():
    global shell
    shell=win32com.client.Dispatch("Wscript.Shell")
    success = shell.AppActivate("App")

def resize():
    global shell
???
暂无标签

1 个回答

9

我在尝试解决一个类似的问题时,发现 pywin32 包里的 win32gui 可以完成这个任务。

下面是一个简单的例子:

import win32gui
hwnd = win32gui.FindWindow(None, 'Window Title')
x0, y0, x1, y1 = win32gui.GetWindowRect(hwnd)
w = x1 - x0
h = y1 - y0
win32gui.MoveWindow(hwnd, x0, y0, w+100, h+100, True)

撰写回答