1 (изменено: andreyua, 2016-06-08 10:25:23)

Тема: VBS: Взаимодействие с мониторами/дисплеями в Windows

Помогите написать или напишите VBS скрипт

Нужно , чтобы любой из текущей комбинаций дисплеев (расширенные , повторяющиеся, дисплей 1 активный или не активный и т.д. ) в Windows, комбинация дисплеев после запуска скрипта приводилась к такому виду, как на скрине:

То есть - расширенные дисплеи:
Viewsonic - активный (1920x1080) - слева;
Samsung (1920x1080) - справа;

http://i.imgur.com/guKuGUu.jpg

При этом надо помнить, что монитор Viewsonic может быть как под номером 2 , так под номером 1 - в зависимости как в взбрендит Винде...

2

Re: VBS: Взаимодействие с мониторами/дисплеями в Windows

А системные настройки (control.exe desk.cpl,Settings,@Settings) не устраивают? Там где Несколько экранов: Расширить эти экраны, D&D и кнопка Определить.
Ну, и всякие известные прогулины типа Dexpot, DisplayFusion, Dual Monitor Tools, SoftTH, Dual Display Mouse Manager, UltraMon и т.п. тоже не подошли?

Вообще лучше бы тему сюда перенести. Зачем Вам именно vbs (префикс, кстати, не указан)?

3 (изменено: andreyua, 2016-06-08 21:48:23)

Re: VBS: Взаимодействие с мониторами/дисплеями в Windows

Да я все знаю - про проги эти , про control.exe  - это не то... Там же все вручную делается, зачем бы я сюда заходил ?
Мне нужно автоматизировать сам процесс с помощью скрипта (можно и не vbs, но мне вот хочется vbs все таки)  - неужели непонятно ...

4

Re: VBS: Взаимодействие с мониторами/дисплеями в Windows

Неужели. Слова "приводилась к такому виду, как на скрине" можно по-разному интерпретировать. Вид - это не состояние.
На vbs нет встроенных технологий управления мониторами (за исключением питания через WMI). Зато есть MultiMonitorTool с поддержкой комстроки. Или и она не устраивает?

5

Re: VBS: Взаимодействие с мониторами/дисплеями в Windows

Не знаю почему , почему вы это интерпретировали как "привести вручную" вместо "сделать автоматически " на "скриптовом" форуме - непонятно...  Я же сказал - "написать СКРИПТ" - это уже подразумевает автоматизацию ,а вы мне - зайди туда, кликни сюда - потом снова кликни туда - это че вообще такое...

....
MultiMonitorTool - подходит вполне, но с помощью него нельзя "расширить мониторы". Можно расширить при помощи displayswitch.exe - но это не утилита , а гавно какое-то, извините.
Хотя бы узнавать с помощью скрипта, монитор Samsung какой порядковый номер имеет, 1  или 2 (моя винда может присвоить то одно то другое, из за чего , собственно, возникла необходимость в скрипте, помещаемом в автозагрузку).

6

Re: VBS: Взаимодействие с мониторами/дисплеями в Windows

andreyua пишет:

на "скриптовом" форуме - непонятно...  Я же сказал - "написать СКРИПТ" - это уже подразумевает автоматизацию

А кто вам сказал, что рисование окон - это не задача для скриптов? Зайдите в подфорум AutoHotkey, там каждый второй/третий топик про это.

andreyua пишет:

а вы мне - зайди туда, кликни сюда - потом снова кликни туда - это че вообще такое...

Задачу ставить научитесь как следует, потом удивляйтесь. Из рисунков изначально было понято, что нужен отдельный от лишних опций интерфейс.

andreyua пишет:

Можно расширить при помощи displayswitch.exe - но это не утилита , а гавно какое-то, извините.

Тем не менее там есть ключ /extend, которого должно хватить для задачи после установки первичности.

andreyua пишет:

Хотя бы узнавать с помощью скрипта, монитор Samsung какой порядковый номер имеет, 1  или 2

Прежде чем узнавать, проверьте, меняет ли система номер на конце \\.\DISPLAY в значение для поля Имя в окне MultiMonitorTool. Если да, то можно попробовать выполнить с ключом /SetPrimary <Monitor>, где в качестве <Monitor> подставить <Monitor Name> (в кавычках при пробелах) или <Monitor Serial Number>. Если это работает, то весь скрипт будет 2-3 строчки.

7

Re: VBS: Взаимодействие с мониторами/дисплеями в Windows

Как меня утомляют эти бестолковые споры с бесконечной писаниной. Если вы неправильно поняли, больше, ваша проблема , а не моя .
Пока.