Добавить ярлык на рабочий стол - создать рабочий стол с помощью ChromeCast
Мне нужно решение, чтобы добавить какой-нибудь ярлык на рабочий стол, где по ярлыку приведёт рабочий стол в Chromecast.
Я в основном ищу простой процесс для наших пользователей, так как они, кажется, не могут выполнять ALT + F, затем C или нажимать 3 точки.. приведение и т. Д.
У меня был Google, но я не могу найти никаких успешных результатов.
Я думал о том, чтобы пойти по пути создания пакетного файла для этого или, возможно, макроса, который мог бы быстро это сделать? У меня нет идей, если честно. Я знаю, что могу запустить Chrome через пакетный скрипт.
5 ответов
Убедитесь, что у вас Chrome версии 76.0.3809.132 или новее. Установите AutoHotkey. Сделайте 2 файла и разместите их на рабочем столе:
CastOn.ahk:
; AutoHotKey Script to start ChromeCast in Desktop Mode
;
; Declare variables
delay := 1000
; Run Chrome
Run, C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --fullscreen --start-maximized
Sleep, delay
Send !f
Sleep, delay
Send c
Sleep, delay
Send {tab}{tab}
Sleep, delay
Send {Enter}
Sleep, delay
Send {Down}{Down}
Sleep, delay
Send {Enter}
Sleep, delay
Send +{tab}
Send {Enter}
Sleep, delay * 2
Send {tab}
Sleep, Delay
Send {tab}
Sleep, Delay
Send {tab}
Sleep, Delay
Send {Enter}
Sleep, delay
Send #{down} ; minimize window, casting starts
CastOff.ahk:
; AutoHotKey Script to stop ChromeCast in Desktop Mode
;
; Declare variables
delay := 1000
; Run Chrome
Run, C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --fullscreen --start-maximized
Sleep, delay
Send !f
Sleep, delay
Send c
Sleep, delay
Send {tab}
Send {Enter}
Sleep, delay
Send {ESC}
Sleep, delay
Send !{f4} ; close window
Теперь у вас есть 2 ахк иконки на рабочем столе. Двойной щелчок на CastOn.ahk начинает кастование и сводит Chrome к минимуму (просто подождите, пока не произойдет волшебство). Двойной щелчок CastOff.ahk останавливает приведение и закрывает открытое окно Chrome, вызываемое в этом сценарии.
"Сон" необходим, чтобы избежать раннего запуска симулированных нажатий, однако вы можете поэкспериментировать с переменной задержки (теперь она установлена на 1000 мс, одна секунда).
Более новые версии Chrome могут привести к новым изменениям пользовательского интерфейса в функциональности ChromeCast, что означает, что этот скрипт необходимо настроить.
Chrome может быть установлен по другому пути, как указано в сценариях ahk. Не будет слишком сложно разобраться в правильном расположении Chrome.exe.
Это решение AutoHotkey приятно...
Я не уверен, изменился ли интерфейс... но сейчас у меня это не работает.
Он открывает Chrome... открывает вкладку трансляции... но нет возможности выбрать ИСТОЧНИК в качестве рабочего стола из раскрывающегося списка источников... и нет возможности выбрать конкретное устройство кастинга, если у вас их несколько.
Если бы вы могли предоставить фрагмент кода, чтобы выбрать раскрывающийся список... и выбрать конкретный выбор... либо по идентификатору выбора, либо по имени... это было бы здорово... Затем я мог бы попытаться испортить код, чтобы он выбрал ИСТОЧНИК и НАЗНАЧЕНИЕ правильно.
Хорошо... я понял, что выбор интерфейса зависит от того, сколько у вас устройств Chromecast. Итак, я собрал вариант AutoHotkey кода Марселя Пеннока...
Это позволяет вам определить, сколько раз скрипт должен нажать кнопку TAB... чтобы выбрать подходящее устройство для трансляции из заполненного списка обнаруженных устройств, который предоставляет вам crome.
Итак... если вы хотите выполнить привязку к устройству 2 в своем списке... вы устанавливаете параметр deviceNumber как номер устройства в списке (1 = первое устройство в списке.. 2 = второе... и т. д.).
Кроме того... я сделал это так, чтобы вы могли выбрать, какой режим кастинга вы хотите... по умолчанию я установил его на DESKTOP (вариант 2).
Опять же... все дело в том, сколько раз вам нужно нажать TAB, чтобы выбрать то, что вы хотите...
CastOn-1.ahk:
;------------------------------------------------------------
; AutoHotKey Script to START ChromeCast in Desktop Mode
;
; Declare variables
;
; -- Set CastMode (1=TAB 2=DESKTOP 3=FILE)
castMode := 2
deviceNumber := 1
;
delay := 1000
;------------------------------------------------------------
;------------------------------------------------------------
; Run Chrome
Run, C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --fullscreen --start-maximized
;Sleep, delay
Sleep, 5000
#IfWinActive, ahk_class Chrome_WidgetWin_1
; -- SEND the ALT+F key combo to open settings
SendInput !f
Sleep, delay
; -- SEND the C key combo to select CAST
SendInput c
Sleep, delay
;------------------------------------------------------------
;------------------------------------------------------------
; -- Tab to the SOURCES drop down box and select it.
SendInput {TAB 3}
Sleep, delay
SendInput {Enter}
Sleep, delay
;------------------------------------------------------------
;------------------------------------------------------------
; -- Make your Selection ( One DOWN for TAB, Two DOWN for DESKTOP, THREE down for FILE.)
; Select DESKTOP -- TWO DOWN COMMANDS PASSED
SendInput {Down %castMode%}
Sleep, delay
SendInput {Enter}
Sleep, delay
;------------------------------------------------------------
;------------------------------------------------------------
; -- Tab OUT of the Source Selection area .. to be able to select correct device.
SendInput {TAB}
Sleep, delay
; -- Tab to the DEVICE we selected and
SendInput {TAB %deviceNumber%}
Sleep, delay
; -- START CAST.
SendInput {Enter}
Sleep, delay
;------------------------------------------------------------
;------------------------------------------------------------
; -- Minimize window, casting starts
Send {ESC}
Sleep, delay
Send #{d} ; minimize window, casting starts
;------------------------------------------------------------
CastOff-1.ahk:
;------------------------------------------------------------
; AutoHotKey Script to STOP ChromeCast in Desktop Mode
;
; Declare variables
delay := 1000
;------------------------------------------------------------
;------------------------------------------------------------
; Run Chrome
Run, C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --fullscreen --start-maximized
;Sleep, delay
Sleep, 5000
#IfWinActive, ahk_class Chrome_WidgetWin_1
; -- SEND the ALT+F key combo to open settings
SendInput !f
Sleep, delay
; -- SEND the C key combo to select CAST
SendInput c
Sleep, delay
;------------------------------------------------------------
;------------------------------------------------------------
; -- Tab OUT of the Source Selection area .. to be able to select correct device.
SendInput {TAB}
Sleep, delay
; -- Tab to the DEVICE we selected and
SendInput {TAB %deviceNumber%}
Sleep, delay
; -- STOP CAST.
SendInput {Enter}
Sleep, delay
;------------------------------------------------------------
;------------------------------------------------------------
; -- CLOSE window
Send {ESC}
Sleep, delay
Send !{f4} ; close window
;------------------------------------------------------------
Я также запускаю это непосредственно из пакетного файла... так что я могу вызвать командный файл из ЛЮБОЙ программы... это удобно для приложений, которые позволяют сопоставлять ключ или событие с функцией или действием.
Пример: у меня есть устройство StreamDeck, которое я использую для потоковой передачи видео... я могу просто назначить одну из кнопокstreamdeck... для запуска этого пакетного файла... и бац... одно нажатие кнопки на устройстве... и я автоматически транслирую на свой устройство Chromecast.
[РАСПОЛОЖЕНИЕ СКРИПТА] относится к вашему локальному пути к скрипту, очевидно, замените его.
START_AUTOHOTKEYCHROMECAST.bat
@echo off
cd "C:\Program Files\AutoHotkey" && start "CHROMECAST START" "C:\Program Files\AutoHotkey\AutoHotkey.exe" "[SCRIPT LOCATION]\CastON.ahk"
exit
Итак, у меня есть частичное решение, и, насколько мне известно, это единственное решение, которое я знаю. Единственная часть, которую я не мог понять, это как переключиться с кастинга на рабочий стол кастинга. Но вот отличный сценарий powershell, который вы можете использовать.
PowerShell.exe -windowstyle hidden {
if (Test-Path variable:global:wshell) {
Clear-Variable wshell -Scope Global }
$wshell = New-Object -ComObject wscript.shell;
if (!$wshell.AppActivate("chrome")){
."\Program Files (x86)\Google\Chrome\Application\chrome.exe"
Sleep 1
}
$wshell.AppActivate("chrome")
Sleep .5
$wshell.SendKeys('%(f)')
Sleep .5
$wshell.SendKeys('c')
exit
}
И если вы сохраните это как файл ps1 (например, chromecast.ps1) в своих документах, вы можете создать ярлык на рабочем столе, который будет указывать на этот файл. (Затем вы можете перейти в свойства ярлыка и изменить значок, если хотите).
Если у вас более одного устройства Chromecast, вот скрипт PowerShell, который переключается между ними, чтобы выбрать правильное.
PowerShell.exe -windowstyle hidden {
$wshell = New-Object -ComObject wscript.shell;
Start-Process "chrome.exe"
Sleep 5
# Open Chromes menu and select cast
$wshell.SendKeys('%(f)c')
Sleep 1
# Tab down do the sources button (alter the number of tabs based on how many chromecast devices you have)
$wshell.SendKeys('{TAB}{TAB}{TAB}{TAB}{TAB}{ENTER}')
Sleep 1
# Select cast to desktop
$wshell.SendKeys('{DOWN}{DOWN}{ENTER}')
Sleep 1
# Tab back up and select the correct chromecast device to use (alter number of shift tabs)
$wshell.SendKeys('+{TAB}{ENTER}')
exit
}
Сохраните это как что-то вродеStartChromecast.ps1
.
Затем, чтобы запустить его:
powershell.exe -executionpolicy bypass -File StartChromecast.ps1