获取/设置浏览器窗口的Windows窗口状态的选项

时间:2017-05-19 14:15:00

标签: windows winapi dom cross-browser activex

我们的代理商有一个Java Web应用程序,它使用第三方Java小程序作为TIFF查看器。在这个应用程序中,javascript会生成一个单独的窗口(是的,它必须是一个单独的窗口)。我们目前正在使用内部ActiveX控件,以便HTML窗口可以通过localStorage预先存储和恢复窗口状态,窗口大小和位置以及屏幕设备。我们的代理商只是IE11,所以现在使用它不是问题。它嵌入在页面中并在“包含窗口”上运行。

这种控制是多年前在VB6中完成的。看来Visual Studio不支持ActiveX控件的创建,我个人并不具备相互创建的知识或技能。

不要建议 HTML DOM窗口和屏幕对象!我搜索过的大多数答案只是参考这些!他们无法获得整个浏览器窗口大小(视口+ chrome +工具栏+标题栏),javascript也不了解Windows特定的内容,如窗口状态和屏幕设备(它始终是操作系统主屏幕)。我理解HTML DOM不能绑定到任何特定于操作系统的东西,以便它可以在多个平台上实现。

到目前为止,此控件运行良好 - 例如,您可以在给定屏幕上最大化并将窗口恢复到同一屏幕。但我意识到ActiveX不会永远得到支持而且它只是IE ......但在我看来,对这种功能的需求并不是完全不常见的。我猜有些人可能会建议应该更改应用程序UI,这样就不会出现问题了 - 但是能够将查看器放在与应用程序不同的监视器上,并将该窗口完全恢复到最后位置对我们很重要。我明白如果你重复使用那个窗口,用户只需要定位一次,但我们宁愿不要求用户。

问题:除了COM / ActiveX之外,还有其他与win32 API交互的方法吗?是否还有其他方法准确窗口持久性,可以了解除了主要操作系统之外的屏幕,以及使用Win32 API之外的其他内容的最大化/最小化/正常窗口?

0 个答案:

没有答案