Что нового

[Автоматизация] Играть с ПК на ТВ через HDMI под Windows 7

jack7277

Новичок
Сообщения
5
Репутация
0
Здравствуйте, возможно ли на AutoIT написать следующий скрипт. Какие команды нужны, куда копать?

Скрипт:
1. Переключить звук по умолчанию на хдми тв (я думаю вызвать mmsys.cpl, затем конкретно под себя заточить нажатия кнопок переключения на нужный звук)
2. Переключить первичный монитор на ТВ, монитор отключить (как-то через DisplaySwitch.exe)
3. Запустить игру, ждать
4. После выхода из игры восстановить звук и порядок монитор-ТВ
 
Автор
J

jack7277

Новичок
Сообщения
5
Репутация
0
А зачем стол заказов? Я не прошу мне всё написать, я прошу подсказать куда копать с чего начать.
Что-то типа тебе понадобится такая-то команда чтобы вызвать внешнее приложение, такими вот командами посылать кнопки. Дайте мне направление я дальше сам, просто ни разу AutoIT не пользовал, сижу смотрю пока что документацию.
Сразу вылезла проблема, делаю
Код:
Run("mmsys.cpl")

и ничего не получается
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.
 
Автор
J

jack7277

Новичок
Сообщения
5
Репутация
0
Дошел до следующих действий. Сейчас я знаю как переключать звук, нужно попробовать переключать активный дисплей.

Код:
// Вызываем звук
run("control.exe mmsys.cpl,,0")
// Ждем пока откроется окно, у меня русская Windows7, поэтому ждем окно с заголовком "Звук"
WinWaitActive ("Звук")
// Стрелкой вниз-вниз выбираем нужный источник звука
Send("{DOWN}")
// Тут посылаем таб, переключаемся на кнопку "по-умолчанию", нажимаем кнопку, затем применяем все настройки.
// Посылаем Enter как ок
Send("{ENTER}")


Со звуком понятно, поглядеть конкретно список доступных для вывода звуковых устройств и вставить нужно количество кнопок курсора вниз. Затем переключить дисплей, запустить игру. Как приду домой потестирую переключение основного монитора на hdmi-ТВ через
Код:
run ("DisplaySwitch.exe /external")

или
Код:
run ("DisplaySwitch.exe /internal")
 
Автор
J

jack7277

Новичок
Сообщения
5
Репутация
0
Так как у меня ТВ - это первое устройство, а монитор - второе, получилось наоборот

Код:
// Эта команда переключила изображение на монитор, он считается внешним устройством
run ("DisplaySwitch.exe /external")

// Этой командой переключил изображение на ТВ, он считается внутренним первым устройством.
run ("DisplaySwitch.exe /internal")


Получается надо собрать все команды в один скрипт, прописать запуск .ехе файла игры и скрипт автоматически установит изображение на ТВ (скорее всего телевизор должен быть включен, надо проверить), переключит звук и запустить игру.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
jack7277,
Тема была закрыта ошибочно, извините. :-[
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
OffTopic:
jack7277
На заметку, в AutoIt строчки комментируются символом ; а не // как в js или других языках ;) .
 
Автор
J

jack7277

Новичок
Сообщения
5
Репутация
0
В итоге всё оказалось просто, проверил сейчас всё нормально.
Чего только не сделаешь, чтобы не покупать XBOX360.
В итоге имеется: китайский ресивер для оригинального беспроводного геймпада от xbox360, сам геймпад, большой телевизор, мощный компьютер.
Скрипт на AutoIT должен лежать в каталоге с игрой:

Код:
; Переключаю экран на ТВ
run("DisplaySwitch.exe /internal")

; Вызываю закладку звук
run("control.exe mmsys.cpl,,0")

; Жду запуска
WinWaitActive ("Звук")

; Нажимаю кнопку вниз, выбираю телевизор по HDMI
Send("{DOWN}")

; Переключаюсь TAB'ом на кнопку "По умолчанию"
Send("{TAB}")
Send("{TAB}")

; Нажимаю её
Send("{SPACE}")

; Нажимаю ОК
Send("{ENTER}")

; Запускаю игру
run ("AlanWake.exe")
 
Верх