濮阳杆衣贸易有限公司

主頁 > 知識庫 > 如何使一個HTA位于屏幕中心(Win32_DesktopMonitor)

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

熱門標簽:哈爾濱外呼系統(tǒng)代理商 南昌辦理400電話怎么安裝 電話機器人適用業(yè)務(wù) 鄭州智能外呼系統(tǒng)運營商 獲客智能電銷機器人 佛山防封外呼系統(tǒng)收費 湛江電銷防封卡 不錯的400電話辦理 徐州天音防封電銷卡

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

復(fù)制代碼 代碼如下:

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 - 一個快速閃爍之后 - 窗口將調(diào)整為 800x600 像素,并將位于屏幕中心。

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

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

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

復(fù)制代碼 代碼如下:

intHorizontal = objItem.ScreenWidth
intVertical = objItem.ScreenHeight

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

復(fù)制代碼 代碼如下:

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

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

然后,對于屏幕高度,重復(fù)該過程。對于我們的示例顯示器,得到的是 768 – 600(即 168),然后除以 2 得到 84 像素(即該窗口上下邊的尺寸)。

這樣,我們還需要做兩項工作。第一,將窗口調(diào)整到 800x600 像素:

window.resizeTo 800,600

第二,相應(yīng)地放置窗口。這就是我們現(xiàn)在要做的:

window.moveTo intLeft, intTop

我們要做的所有事情就是調(diào)用 moveTo 方法并移動 HTA 窗口,使其左上角位于距左側(cè) 112 像素、距頂端 84 像素的位置。

順便說一下,我們將 resizeTo 方法放在該子例程底端附近,以供教學(xué)之用:我們想要將 resizeTo 與 moveTo 一起講述。然而,當(dāng)您通過調(diào)整窗口啟動子程序時,將有一個輕微的、不太明顯的閃爍:

復(fù)制代碼 代碼如下:

Sub 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

這不是個大問題,但有些幫助。我們會繼續(xù)尋找消除閃爍的方法。(為什么如此困難?理想狀態(tài)下,在調(diào)整和移動 HTA 窗口之前,我們會將其隱藏,這可以使用 Internet Explorer 來執(zhí)行。然而,我們還沒有找到一種使用 HTA 來執(zhí)行該操作的方法。但我們從未放棄。)

您可能感興趣的文章:
  • python使用win32com在百度空間插入html元素示例
  • win32使用openfilename瀏覽文件窗口示例
  • python字符串加密解密的三種方法分享(base64 win32com)
  • c#用Treeview實現(xiàn)FolderBrowerDialog 和動態(tài)獲取系統(tǒng)圖標(運用了Win32 dll類庫)
  • WMI中的Win32_PingStatus類(ping命令實現(xiàn))
  • nginx win32 版本靜態(tài)文件測試 (Windows環(huán)境)
  • win32安裝配置非安裝版的MySQL
  • iis Win32狀態(tài)數(shù)值(sc-win32-status)說明
  • PSW.Win32.Magania.ffw(F3C74E3FA248.exe)病毒的清除
  • Worm.Win32.AutoRun.bqn病毒分析解決
  • inst.exe,Setup.exe木馬Trojan-PSW.Win32.Magania.cjy解決方法
  • Downloader Win32.Delf.dqu(IRAT.rmvb,mm.exe)分析查殺
  • 木馬程序Trojan-Spy.Win32.Agent.cfu清除方法
  • MSN圣誕照片(Backdoor.Win32.PBot.a)病毒分析解決
  • 木馬下載器Win32.TrojDownloader.Delf.114688
  • recycle.exe(Trojan-Dropper.Win32.VB.rj)病毒的查殺方法
  • Backdoor.Win32.IRCBot.afm(video.exe)病毒的處理方法
  • win32 api實現(xiàn)簡單的消息窗口示例

標簽:吉安 蕪湖 安康 廣西 懷化 紹興 呂梁 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《如何使一個HTA位于屏幕中心(Win32_DesktopMonitor)》,本文關(guān)鍵詞  如何,使,一個,HTA,位于,屏幕,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何使一個HTA位于屏幕中心(Win32_DesktopMonitor)》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何使一個HTA位于屏幕中心(Win32_DesktopMonitor)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    泽普县| 东城区| 攀枝花市| 辽阳市| 泰和县| 桐乡市| 开江县| 寿光市| 随州市| 新巴尔虎左旗| 土默特左旗| 江城| 阿城市| 通许县| 伊通| 达孜县| 五寨县| 望江县| 德阳市| 星座| 米泉市| 武强县| 涿鹿县| 南昌市| 乐安县| 清远市| 高州市| 巴东县| 福鼎市| 崇礼县| 宁陕县| 新龙县| 庆云县| 霍邱县| 班玛县| 仁化县| 江源县| 鹤山市| 营山县| 宜良县| 曲麻莱县|