我正在使用 python 使用 vlc 一次打开 4 个视频,我希望它们在屏幕的每个四分之一处自动调整大小(当你拖动角落的窗口时会发生这种情况)。
我正在使用库的Popen
方法subprocess
如下:
for i in range(0,4):
p = subprocess.Popen(['vlc location','file name'])
p.wait()
到目前为止,视频已打开,但我不知道如何将它们固定在角落,如下所示:
我正在使用 python 使用 vlc 一次打开 4 个视频,我希望它们在屏幕的每个四分之一处自动调整大小(当你拖动角落的窗口时会发生这种情况)。
我正在使用库的Popen
方法subprocess
如下:
for i in range(0,4):
p = subprocess.Popen(['vlc location','file name'])
p.wait()
到目前为止,视频已打开,但我不知道如何将它们固定在角落,如下所示:
如果您要像我一样使用 Popen 子进程方法,则必须删除 p.wait() 因为它会等待视频结束,然后再运行代码(它将进程放入队列而不是线程化它们)。
在 martineau 的帮助和他提供的答案下,我使用了以下内容(在为 python 3.5 安装了 pywin32 之后):
import pywintypes
import win32gui
displays = [[-10,0,980,530],
[954,0,980,530],
[-10,515,980,530],
[954,515,980,530]] #these are the x1,y1,x2,y2 to corner all 4 videos on my res (1920x1080)
def enumHandler(hwnd, lParam):
if win32gui.IsWindowVisible(hwnd):
print(win32gui.GetWindowText(hwnd)) #this will print all the processes title
if name in win32gui.GetWindowText(hwnd): #it checks if the process I'm looking for is running
win32gui.MoveWindow(hwnd,i0,i1,i2,i3,True) #resizes and moves the process
win32gui.EnumWindows(enumHandler, None) #this is how to run enumHandler
x1,y1,x2,y2 对于您的进程可能会有所不同,但这些对于 vlc 媒体播放器来说工作得很好。我希望我足够清楚,但如果你没有完成它,你一定要检查 martineau 提供的答案。