2017-02-12 7 views
0

Я использую python для открытия сразу 4 видео с помощью vlc, и я хочу, чтобы они автоматически изменялись в каждой четверти экрана (как это происходит, когда вы перетаскиваете окно в углу).Как программно изменить размеры окон процесса в Windows 10?

Я использую Popen метод subprocess библиотеки следующим образом:

for i in range(0,4): 
    p = subprocess.Popen(['vlc location','file name']) 
p.wait() 

Пока видео открытые, но я не могу понять, как прикрепить их по углам, как это:

screenshot of desired results

+0

[Этот ответ] (http://stackoverflow.com/a/14654287/355230) к несвязанному вопросу показывает, как использовать 'win32gui.MoveWindow()' для размещения окон на рабочем столе Windows (а также как итерация всех видимых). Что-то вроде того, что вам нужно делать. – martineau

+1

Спасибо! Это решило мою проблему. –

+0

Вы очень желанны. ':-)' Когда вам разрешено (через определенное время), вы можете опубликовать ответ на свой вопрос, который поможет другим с подобной проблемой. – martineau

ответ

1

Если вы собираетесь использовать метод подпроцесс POPEN как я вам придется удалить p.wait(), потому что он будет ждать видео, чтобы закончить до запуска больше кода (это положить процессы в очереди, а не потоки их).

С помощью Мартино и ответ он представил я использовал следующее (после установки pywin32 для питона 3.5):

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.

 Смежные вопросы

  • Нет связанных вопросов^_^