2024-05-16 05:48:55 发布
网友
我试图用python最大化一个特定的窗口。。。
这是交易: 我有一个打开两个firefox窗口的脚本(selenium rc),我需要最大化第二个窗口,最后一个打开。。。 我该怎么做?
我用这个命令
window = win32gui.GetForegroundWindow() win32gui.MoveWindow(window, 0, 0, 1440, 900, True)
很好,但只有对焦窗口。。。火狐女巫的第二个窗口打开时脚本没有聚焦。。。
这应该管用
import win32gui, win32con hwnd = win32gui.GetForegroundWindow() win32gui.ShowWindow(hwnd, win32con.SW_MAXIMIZE)
如果不想安装单独的模块,可以使用内置的ctypes模块。这个用法与上面接受的答案没有太大区别,只是您可以与dll本身交互,不必安装其他任何东西。
首先是代码:
import ctypes user32 = ctypes.WinDLL('user32') SW_MAXIMISE = 3 hWnd = user32.GetForegroundWindow() user32.ShowWindow(hWnd, SW_MAXIMISE)
现在的解释是:
SW_MAXIMISE
hWnd = user32.GetForegroundWindow()
ShowWindow()
hWnd
SW_MAXIMISE = 3
你当然可以把它放到一个函数中,使它易于使用。
另一种方法:
因为在这种情况下,不必担心跨平台,而是可以构建C或C++扩展。
好处:
衰退:
要调用的实际函数不应该那么困难:
static PyObject * max_win(PyObject *self, PyObject *args) { ShowWindow(GetForegroundWindow(), SW_MAXIMISE); return Py_BuildValue(""); // Return nothing }
请注意,这只是所需实际代码的一部分
这应该管用
如果不想安装单独的模块,可以使用内置的ctypes模块。这个用法与上面接受的答案没有太大区别,只是您可以与dll本身交互,不必安装其他任何东西。
首先是代码:
现在的解释是:
SW_MAXIMISE
值设置为3,因为这是将窗口设置为最大值的值(在documentation中指示)。hWnd = user32.GetForegroundWindow()
检索前台窗口(位于所有其他窗口前面的窗口)-有关函数的完整说明,请参见here。ShowWindow()
控制windows显示状态。这需要两个参数,窗口的句柄(上面定义为hWnd
)和如何查看窗口(在SW_MAXIMISE = 3
中设置为3)。您可以查看documentation以获得各种选项的更完整列表。你当然可以把它放到一个函数中,使它易于使用。
另一种方法:
因为在这种情况下,不必担心跨平台,而是可以构建C或C++扩展。
好处:
衰退:
要调用的实际函数不应该那么困难:
请注意,这只是所需实际代码的一部分
相关问题 更多 >
编程相关推荐