2

Мне нравится, когда на моем дополнительном мониторе открыты окна из 2-х оконных панелей PowerShell, но я бы предпочел не открывать и не изменять их размеры вручную. Я могу установить размер окна (через (Get-Host).UI.RawUI.WindowSize), но похоже, что (Get-Host).UI.RawUI.WindowPosition - это фактически позиция прокрутки в буфере.

Кто-нибудь знает какой-либо способ сделать это с помощью сценариев PS, или, если это не удалось, с помощью Windows Scripting Host?

1 ответ1

3

Задав вопрос, мне предложили изменить строку запроса Google, и я наткнулся на правильный способ сделать это.

Сначала загрузите WASP. Убедитесь, что в вашем профиле есть Import-Module Wasp .

Затем я создал этот скрипт (подходящий для пары мониторов 1920x1200, с "основным" монитором справа):

#
# the pause is necessary to make sure the powershell consoles have
# had time to create their windows before attempting to move them
start (which powershell)
$g0x1 = start (which powershell) -PassThru
$g1x1 = start (which powershell) -PassThru

pause 2

set-windowposition -window ((get-process -id $g0x1.id).MainWindowHandle) -left -1168 -top 0 -height 598
set-windowposition -window ((get-process -id $g1x1.id).MainWindowHandle) -left -1168 -top 600 -height 598

Функция pause проста:

function pause
{
   param($p)
   wait-event -timeout $p
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .