Wenn Sie die Popen subprocess Methode verwenden werden wie ich werden Sie haben p.wait zu entfernen(), weil es warten wird für das Video vor mehr Code ausgeführt zu beenden (es ist die Prozesse in einem Putting Warteschlange, anstatt sie einzufädeln).
Mit Hilfe von Martineau und der Antwort, die er zur Verfügung gestellt ich folgende verwendet (nach der pywin32 für Python 3.5 installieren):
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
Die x1, y1, x2, y2 könnte für Ihre Prozesse unterschiedlich sein, aber diese funktionieren gut für VLC Media Player. Ich hoffe, ich war klar genug, aber wenn Sie es nicht schaffen, sollten Sie auf jeden Fall die Antwort von Martineau überprüfen.
[Diese Antwort] (http://StackOverflow.com/a/14654287/355230) zu einer nicht verwandten Frage zeigt, wie man 'win32gui.MoveWindow()' verwendet, um Fenster auf dem Windows-Desktop zu positionieren (und auch wie Iteriere durch alle diejenigen, die sichtbar sind). So etwas musst du machen. – martineau
Danke! Es hat mein Problem gelöst. –
Sie sind herzlich willkommen. ':-)' Wenn du erlaubt bist (nach einer gewissen Zeit), kannst du eine Antwort auf deine eigene Frage schreiben, die anderen mit einem ähnlichen Problem helfen würde. – martineau