国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTA > 正文

如何使一個HTA位于屏幕中心(Win32_DesktopMonitor)

2020-01-31 15:41:37
字體:
來源:轉載
供稿:網友

我們可以調整(如果需要)窗口大小并使其居中,但這樣做時會在屏幕上出現瞬間的閃爍。這并不是太明顯,其實際結果就是你所期望的:HTA 會位于屏幕中心。我們希望這個過程變得稍微流暢些,但目前我們不得不使用此方法。
下面是 HTA 示例的代碼。(若要實現此過程,請復制該代碼,并將其粘貼到記事本中,然后以 .hta 為文件擴展名保存該文件。)我們擔心的部分(也是唯一真正有用的部分)是 Window_Onload 子例程,每當 HTA 被加載或更新時,該子例程就自動運行:

復制代碼 代碼如下:

<html>
<head>
<title>Centered HTA</title>
<HTA:APPLICATION
ID="objHTA"
APPLICATIONNAME="Centered HTA"
SCROLL="yes"
SINGLEINSTANCE="yes"
>
</head>
<SCRIPT Language="VBScript">
Sub Window_Onload
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.resizeTo 800,600
window.moveTo intLeft, intTop
End Sub
</SCRIPT>
<body></body>
</html>

啟動此 HTA - 一個快速閃爍之后 - 窗口將調整為 800x600 像素,并將位于屏幕中心。

好問題:這里將要發生什么?我們先使用一些標準 WMI 代碼,連接到本地計算機上的 WMI 服務,然后查詢 Win32_DesktopMonitor 類。

注意。我們假定您的計算機只連接了一臺顯示器。如果您有多臺顯示器,您將必須添加一個 WHERE 子句來確保您將檢索主顯示器的屏幕高度和寬度。

連接到 Win32_DesktopMonitor 類后,我們將使用下列兩行代碼來確定當前屏幕的尺寸:

復制代碼 代碼如下:

intHorizontal = objItem.ScreenWidth
intVertical = objItem.ScreenHeight

我們已經事先決定,想讓 HTA 窗口的寬度為 800 像素,高度為 600 像素。因此,我們可以使用以下代碼計算出需要將該窗口的左上角放在什么位置:

復制代碼 代碼如下:

intLeft = (intHorizontal - 800) / 2
intTop = (intVertical - 600) / 2

正如您所看到的,我們將獲得屏幕寬度(存儲在 intHorizontal 變量中)并減去 800 像素(HTA 窗口的水平尺寸)。假定我們有一臺分辨率為 1024x768 的顯示器。1024 減去 800 得 224:這告訴我們屏幕比 HTA 窗口寬多少。若要使該窗口居中,我們只需確保每個邊為 112 像素;這就是用 224(即 intHorizontal

主站蜘蛛池模板: 昭觉县| 石柱| 弥渡县| 孝昌县| 安国市| 凤凰县| 新沂市| 焦作市| 象州县| 中卫市| 靖边县| 晋中市| 镇宁| 乌鲁木齐县| 通道| 镇安县| 阳新县| 阳春市| 射洪县| 四平市| 六枝特区| 芒康县| 揭阳市| 中宁县| 陵水| 广南县| 正安县| 常德市| 察雅县| 镇雄县| 栾川县| 会昌县| 泉州市| 肇源县| 鄂托克前旗| 榕江县| 泰安市| 绥江县| 宜川县| 青铜峡市| 哈密市|