cyberp1983
02-08-2018, 08:15
Такая проблема:
У меня есть порядка 32 скриптов написанных на питоне, мне нужно их все запустить на одном рабочем столе двумя столбцами по 16 для дальнейшего отслеживания их работы.
Как запустить все 32 я вообщем то понял (start /D "G:\Dropbox\sender-text\echo_send_to_new\" python 79031073785.py и т.д.), но мне нужно что бы эти окна замостили весь экран рабочего стола, как прописать координаты каждого окна? или может быть как то можно что бы они автоматически выстроились.
или может быть как то можно что бы они автоматически выстроились. »
cmdow.exe (https://ritchielawrence.github.io/cmdow/)
Управление окнами Windows из консоли (http://old.computerra.ru/gid/rtfm/system/272855/)
Используйте Wbem, класс Win32_Process и его метод Create, задавая потребные свойства окна создаваемого процесса посредством класса Win32_ProcessStartup.
Как это может выглядеть на WSH:
Option Explicit
Dim objSWbemServicesEx
Set objSWbemServicesEx = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
RunProcess "ping.exe -t google.com", "c:\windows\system32", "Обмен пакетами с Google.com", 100, 100, 600, 200, 20, 5
RunProcess "ping.exe -t yandex.ru", "c:\windows\system32", "Обмен пакетами с Yandex.com", 100, 350, 600, 200, 20, 5
RunProcess "ping.exe -t microsoft.com", "c:\windows\system32", "Обмен пакетами с Microsoft.com", 100, 600, 600, 200, 20, 5
RunProcess "ping.exe -t mozilla.com", "c:\windows\system32", "Обмен пакетами с Mozilla.com", 750, 100, 600, 200, 20, 5
Set objSWbemServicesEx = Nothing
WScript.Quit 0
Sub RunProcess(strCommandLine, strWorkingDirectory, strTitle, intX, intY, intXSize, intYSize, intXCountChars, intYCountChars)
Const SW_NORMAL = 1
Dim objSWbemObjectEx
Dim lngProcessID
Set objSWbemObjectEx = objSWbemServicesEx.Get("Win32_ProcessStartup").SpawnInstance_
With objSWbemObjectEx
.Title = strTitle
.X = intX
.Y = intY
.XSize = intXSize
.YSize = intYSize
.XCountChars = intXCountChars
.YCountChars = intXCountChars
.ShowWindow = SW_NORMAL
End With
objSWbemServicesEx.Get("Win32_Process").Create strCommandLine, strWorkingDirectory, objSWbemObjectEx, lngProcessID
Set objSWbemObjectEx = Nothing
End Sub
https://i.imgur.com/4E24MkC.png
Естественно, Вам нет никакой нужды пользовать именно WSH. Используйте код просто как образец для написания аналога на Python'е.
cyberp1983
02-08-2018, 12:42
Спасибо YuS_2
Сделал так:
start /D "G:\new\" python ххххххххх.py
cmdow "C:\Python27\python.exe" /siz 937 71
cmdow "C:\Python27\python.exe" /mov 0 0
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.