首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不同的显示器(Windows)中打开Chrome kiosk模式的两个实例

如何在不同的显示器(Windows)中打开Chrome kiosk模式的两个实例
EN

Stack Overflow用户
提问于 2015-03-27 05:41:07
回答 6查看 56.1K关注 0票数 25

我们正在开发一个web应用程序,它需要在两个不同的浏览器实例中打开,每个实例位于不同的屏幕上。显然,我们正在使用的pc已经有双显示器,两个显示器具有相同的大小和分辨率。

我们的想法是,一旦Windows启动,这两个应用程序就应该在全屏上立即打开,我们最喜欢的浏览器是Chrome,因为它有几个可能帮助我们完成任务的命令。

我们已经成功地在启动程序中添加了两个快捷键,它们以kiosk模式打开两个实例,但我们无法选择打开哪个显示。

快捷键的目标是:

代码语言:javascript
复制
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\temp --kiosk www.domain.com --new-window "%1" --window-position=0,0

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\temp --kiosk www.domain2.com --new-window "%2" --window-position=1680,0

为了打开两个实例,chromes需要创建一个包含实例信息的临时文件来打开(--user-data-dir=c:\temp)

我们尝试使用(--window-position=1680,0)来指定打开实例的位置,但是Chrome似乎会优先处理最后一个实例被打开的位置,因此无论命令如何,这两个实例都在同一个窗口上打开。

我们找到了一个包含所有可用命令的列表,但是这个列表很大,我们甚至不知道我们在寻找什么:

http://peter.sh/experiments/chromium-command-line-switches/

我找到了以下命令:--display=:0.0 | --display=:0.1,但它似乎不起作用,或者我没有正确地使用它

有什么想法吗?谢谢。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-04-15 09:29:22

我也有同样的问题。这个答案:https://stackoverflow.com/a/3750187/1305565激励我创建自己的PowerShell脚本,以便于使用。

不久

脚本执行以下操作:

  1. 通过脚本启动Chrome实例
  2. 现在使用WinApi查找已启动窗口并将其移动到所需的屏幕
  3. 将F11键发送到移动窗口,使其成为全屏(我们可以在全屏模式下启动铬,但在该模式下移动窗口并不是那么简单)
  4. 对其他实例也这样做,指定必要的URL。

最终脚本

函数定义隐藏在Dll和另一个辅助脚本中。(使用上面的链接从GitHub下载它们)

代码语言:javascript
复制
$chromePath = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
$chromeArguments = '--new-window --incognito'

# &taskkill /im chrome* /F 
Chrome-Kiosk 'http://google.com' -MonitorNum 1 
Chrome-Kiosk 'http://http://www.bbc.com/' -MonitorNum 2 
票数 15
EN

Stack Overflow用户

发布于 2016-08-22 15:33:15

这段代码对我来说很好:

代码语言:javascript
复制
start C:\Users\terminal\AppData\Local\Google\Chrome\Application\chrome.exe --app="http://www.domain1.com" --window-position=0,0 --kiosk --user-data-dir=c:/monitor1

start C:\Users\terminal\AppData\Local\Google\Chrome\Application\chrome.exe --app="http://www.domain2.com" --window-position=1680,0 --kiosk --user-data-dir=c:/monitor2

我认为参数的顺序是相关的。

票数 21
EN

Stack Overflow用户

发布于 2016-05-09 05:52:53

实现这一目标的最简单方法是使用两个不同的数据目录。在启动之前,您可能希望或不希望删除首选项。如果您这样做,您的脚本可以控制屏幕放置的位置。如果没有,则可以手动定位它们,它将分别记住两个窗口的位置:

代码语言:javascript
复制
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:/screen1 --start-fullscreen --new-window www.domain.com --new-window "%1" --window-position=0,0

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:/screen2 --start-fullscreen --new-window www.domain2.com --new-window "%2" --window-position=1680,0

注意,我还使用了--启动全屏而不是kiosk,还有--新窗口。你可能需要,也可能不需要。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29294045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档