添加桌面快捷方式 - 通过 ChromeCast 投射桌面

添加桌面快捷方式 - 通过 ChromeCast 投射桌面

我需要一种解决方案来向桌面添加某种快捷方式,通过该快捷方式将桌面投射到 Chromecast。

我基本上是在为我们的用户简化流程,因为他们似乎无法按 ALT + F,然后按 C 或单击 3 个点...投射等。

我已经用过 Google,但似乎没有找到任何成功的结果。

我原本想创建一个批处理文件,或者创建一个可以快速完成此操作的宏?说实话,我没什么主意。我知道我可以通过批处理脚本启动 Chrome。

答案1

确保您拥有 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 个 ahk 图标。双击 CastOn.ahk 开始投射并使 Chrome 最小化(只需等待奇迹发生)。双击 CastOff.ahk 停止投射并关闭此脚本中调用的已打开的 Chrome 窗口。

需要“睡眠”来避免模拟击键过早启动,但是您可以尝试延迟变量(现在设置为 1000 毫秒,即一秒)。

Chrome 的较新版本可能会导致 ChromeCast 功能中的新 UI 变化,这意味着该脚本需要进行调整。

Chrome 可能安装在与 ahk 脚本中提到的不同的路径中。找出 Chrome.exe 的正确位置并不太难。

答案2

所以,我有一个部分解决方案,而且据我所知,这是我所知道的唯一解决方案。我唯一想不通的部分是如何从 Casting 选项卡切换到 Casting 桌面。但是,这里有一个您可以使用的漂亮的 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),则可以在桌面上创建指向此文件的快捷方式。(然后,您可以进入快捷方式的属性并根据需要更改图标)。

答案3

这个 AutoHotkey 解决方案很好......

我不确定界面是否已经改变...但这对我来说目前不起作用。

它打开 chrome..打开投射选项卡...但无法从下拉源列表中选择源作为桌面...并且如果您有多个投射设备,则无法选择特定的投射设备。

如果您可以提供代码片段来选择下拉框..并通过选择 ID 或名称来选择特定的选择..那就太好了..然后我可以尝试混合代码以使其正确选择源和目标。

答案4

如果您有多个 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

相关内容