html - 使 hta 窗口居中

标签 html hta

无论 HTA 大小的屏幕分辨率如何,我如何使 HTA 窗口居中以使其位于屏幕中央我有这个:

</head>
<script>
Sub DoResize 'Do not use Window_Onload
   window.resizeTo 800,600
   strComputer = "."
   Set objWMIService = GetObject("Winmgmts:\\" & strComputer & "\root\cimv2")
   Set colItems = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor")
   For Each objItem in colItems
       intHorizontal = objItem.ScreenWidth
       intVertical = objItem.ScreenHeight
   Next
   intLeft = (intHorizontal - 800) / 2
   intTop = (intVertical - 600) / 2
   window.moveTo intLeft, intTop
End Sub
DoResize() 'Run the subroutine to position the containing window (your HTA dialog) before the body is rendered.
</script>
<body>

但如果我更改屏幕分辨率,它就不起作用,并且会调整 HTA 窗口的大小。

问题:无论屏幕分辨率的 HTA 大小如何,如何将 HTA 移动到屏幕中心。

最佳答案

为此使用 WMI 有点矫枉过正。您可以使用 screen对象代替:

window.resizeTo (800, 600);
window.moveTo((screen.width - 800) / 2, (screen.height - 600) / 2);

如果你想在开始时调整窗口大小,将上面的行放在 (JS) scripthead 中的标签部分,甚至在 <hta: application> 之前标记,或在事件处理程序中或任何需要的地方使用代码。

如果你想将任务栏的高度排除在居中区域之外,你可以使用screen.availHeight而不是 screen.height .

关于html - 使 hta 窗口居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22301262/

相关文章:

php - 如何使用 php 或 javascript 将特定的 css id 添加到父菜单

html - 单个 <br/> 不会创建换行符,而是需要两个

javascript - 使用javascript时是否可以通过数据集获取和查询元素?

javascript - 是否可以使用 javascript 发送 HTAEPLY 而无需 window.close()

popup - HTA:在可滚动弹出窗口中显示文本文件

javascript - 从浏览器(独立于平台和浏览器)启动应用程序,最佳方法?

html - 解码 html 特殊字符 - Angular

VBScript 出现 HTA 和类型不匹配错误的奇怪问题

javascript - 从 JavaScript 跨浏览器运行 .exe

javascript - 即使没有输入也不允许脚本创建 .txt 文件