背景
分公司有几台主机,连接了几个大屏监视器,这几个监视器需要使用QQ影音分别播放不同的视频。每次重启后,都要人工设置,想实现开机自动启动视频,并分别显示在各监视器上。
实现过程
- 测试浏览器,主屏163主站,扩展屏baidu主站。
$app1 = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
Start-Process -FilePath $app1 ('--new-window', '--start-fullscreen','--user-data-dir=c:/screen1','--window-position=0,0', "https://")
Start-Process -FilePath $app1 ('--new-window', '--start-fullscreen','--user-data-dir=c:/screen2','--window-position=2600,0',"https://")
测试没问题。
- 测试一个浏览器,一个wechat程序,主屏显示wechat,扩展屏显示chrome
$app1 = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
$app2 = "C:\Program Files (x86)\Tencent\WeChat\WeChat.exe"
Start-Process -FilePath $app1 ('--new-window', '--start-fullscreen','--user-data-dir=c:/screen1','--window-position=1600,0', "https://")
Start-Process -FilePath $app2 ('--new-window','--user-data-dir=c:/screen2','--window-position=0,0')
经测试,也没问题。
原以为QQ影音也能通过“--window-position”这种方式来实现,结果白高兴一场,怎么设置都无效。 经过各种尝试,实现方案如下。 【通过第三方工具移动程序到扩展屏】
- 下载 MultiMonitorTool,解压
- 通过powershell脚本调用该工具:
$file = (Get-ChildItem -Path C:\vedio).Name
$i = 0
Foreach($f in $file){
$app = "C:\vedio\$f"
Start-Process $app
$i = $i + 1
Start-Sleep 6 #QQ影音启动没那么快
if($i -ge 2){
C:\multimonitortool-x64\MultiMonitorTool.exe /MoveWindow $i Title "$f"
}
}
-
两个程序刚完成启动时:
-
移动完成后: