我正在开发一个将使用多个显示器的打包应用程序。我需要能够在特定显示器中打开窗口。我也尝试过打开窗口,然后使用 javascript 将它们移动到监视器上。但是应用程序不会移动到活动显示的范围之外。
关于如何让它发挥作用的任何想法?
我正在开发一个将使用多个显示器的打包应用程序。我需要能够在特定显示器中打开窗口。我也尝试过打开窗口,然后使用 javascript 将它们移动到监视器上。但是应用程序不会移动到活动显示的范围之外。
关于如何让它发挥作用的任何想法?
与此一起使用chrome.system.display.getInfo
,您可以获得每个活动显示器的显示信息。
有了displayInfo.workArea
你可以得到每个显示器的工作区域,你只需要想一个大显示器,每个显示器就是一个工作区。有了这些信息,你可以移动你的窗口
AppWindow#setBounds
到正确的显示器。是carfull,AppWindow#moveTo
不工作。
利用AppWindow#setBounds
例如
chrome.app.window.get('mainWindow').setBounds({"height": 200, "left": 2000})
在 v34 上测试
繁荣。将此更改为正确答案。
这不是我希望的解决方案,但正如其中提到的评论之一,Chrome 和多显示器存在错误。就我而言,这是一个内部应用程序,因此我可以安装任何我需要的东西来完成这项工作。
我的解决方案是创建一个控制台应用程序,它启动 chrome 应用程序,然后使用 Windows32 API 移动窗口。显然不理想,但它可以工作,用户仍然只需要一键启动应用程序。
您可以编写一个 chrome 扩展来完成这项工作。在后台脚本中,您可以监听 chrome.windows.onCreated 事件并使用 chrome.windows.update 函数将窗口移动到其他监视器