通过nodejs获取OS显示枚举

时间:2013-06-25 01:18:52

标签: node.js chromium appjs

我正在将AppJS视为构建跨浏览器应用程序的可能候选者。 AppJS使用带有NodeJS钩子的Chromium窗口运行HTML5内容。

是否有一个NodeJS模块可以给我一个当前活动的显示枚举?我需要支持双显示器设置,并且需要知道每个显示器的界限。

到目前为止,我没有运气地搜索Node npm目录。

更新

根据sihorton的回答,我正在使用javascript方法。浏览器安全性禁止我在普通Chrome中使用我的第一种方法,但是当我回到家时,我会尝试使用AppJS chrome。代码herehere

基本方法是运行如下代码:

OpenWindow('http://jsbin.com/axiwad/3/','test',400,500);

然后打开的窗口运行:

  window.moveTo(screen.width+2, 0);

  setTimeout(function(){
    $(".s2w").html(screen.width+2);
    $(".s2h").html(screen.height);
  }, 500);

问题当然是浏览器不允许moveTo在活动屏幕边界之外。 AppJS铬叉是否允许这样做还有待观察。

1 个答案:

答案 0 :(得分:1)

如果你正在运行AppJS,那么你可以使用在AppJS的chrome窗口部分运行的javascript中的技巧来进行屏幕检测。我快速谷歌搜索发现以下链接,我相信还有其他人,如果你的实验足够,那么希望你能得到一个跨平台的解决方案: -

http://archive.cpradio.org/code/javascript/dual-monitors-and-windowopen/

如果您希望保持节点本地的另一种方法是实现一个公共API,然后为每个平台实现单独的代码。我目前还不知道任何更好的解决方案,显然这不如上面的javascript解决方案更好。但是,如果你必须走这条路,那么就有节点边缘:

http://tjanczuk.github.io/edge

这使您可以从nodejs运行.net代码,这样您就可以使用该API覆盖Windows机器。对于linux,您可以查看连接到dbus:

https://github.com/sidorares/node-dbus https://npmjs.org/package/dbus-native

希望您可以在互联网上找到合适的示例代码,以便使用dbus和.net获取显示属性,然后将其插入并从那里开始。