用python获取窗口的位置和大小

我怎样才能获得和设置窗口(任何Windows程序)的位置和大小与Python?

Solutions Collecting From Web of "用python获取窗口的位置和大小"

假设你在Windows上,尝试使用pywin32win32gui模块及其EnumWindowsGetWindowRect函数。

如果您使用Mac OS X,则可以尝试使用appscript

对于Linux,您可以尝试X11的众多接口之一。

编辑: Windows示例(未测试):

 import win32gui def callback(hwnd, extra): rect = win32gui.GetWindowRect(hwnd) x = rect[0] y = rect[1] w = rect[2] - x h = rect[3] - y print "Window %s:" % win32gui.GetWindowText(hwnd) print "\tLocation: (%d, %d)" % (x, y) print "\t Size: (%d, %d)" % (w, h) def main(): win32gui.EnumWindows(callback, None) if __name__ == '__main__': main() 

您可以使用GetWindowRect函数获取窗口坐标。 为此,你需要一个窗口的句柄,你可以使用FindWindow ,假设你知道关于窗口的东西(比如它的标题)。

要从Python调用Win32 API函数,请使用pywin32

对于Linux,您可以使用我在这里制作的工具。 该工具的用途略有不同,但您可以直接使用API​​来满足您的需求。

安装工具

 sudo apt-get install xdotool xprop xwininfo git clone https://github.com/Pithikos/winlaunch.git && cd winlaunch 

在终端

 >>> from winlaunch import * >>> wid, pid = launch('firefox') >>> win_pos(wid) [3210, 726] 

widpid代表window id和process id。