首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

HTA (HTML Application) 入門指南:以 HTML/CSS/JS 撰寫桌面應用程式

     編輯:更多程式設計知識

什麼是 HTA?

HTA (HTML Application) 是微軟技術,將含 VBScript/JScript 的 HTML 另存為 .hta,即成為獨立桌面應用程式。擁有完整系統權限(讀寫檔案、存取登錄、WMI、資料庫等),介面以 HTML+CSS 實作,開發效率極高。

最小 HTA 範例

<html>
<head>
    <title>第一個 HTA</title>
</head>
<body>
    <center>HTA - HTML Application</center>
</body>
</html>

存為 demo.hta,雙擊即可執行。甚至可省略 <html>, <body> 標籤。

HTA:Application 標籤:自訂視窗外觀

置於 <head> 內,屬性如下:

<HTA:APPLICATION 
    ID="oHTA"
    APPLICATIONNAME="MyApp"
    BORDER="thin"
    BORDERSTYLE="raised"
    CAPTION="yes"
    ICON="app.ico"
    MAXIMIZEBUTTON="yes"
    MINIMIZEBUTTON="yes"
    SHOWINTASKBAR="no"
    SINGLEINSTANCE="yes"
    SYSMENU="yes"
    VERSION="1.0"
    WINDOWSTATE="normal"
    SCROLL="yes">

屬性速查表

屬性說明預設值
APPLICATIONNAME應用程式名稱 (SINGLEINSTANCE 識別用)
BORDER邊框類型: thick, dialog, none, thinthick
BORDERSTYLE邊框風格: normal, complex, raised, static, sunkennormal
CAPTION是否顯示標題列yes
ICON視窗圖示路徑
MAXIMIZEBUTTON顯示最大化按鈕yes
MINIMIZEBUTTON顯示最小化按鈕yes
SHOWINTASKBAR工作列顯示yes
SINGLEINSTANCE單一實例 (依 APPLICATIONNAME)no
SYSMENU系統選單yes
VERSION版本號
WINDOWSTATE初始狀態: normal, minimize, maximizenormal
SCROLL捲軸yes

完整互動範例:定時關機小工具

<head>
<title>定時關機小程序</title>
<HTA:APPLICATION 
    APPLICATIONNAME="AutoShutdown"
    BORDER="thin"
    BORDERSTYLE="raised"
    ICON="C:\WINDOWS\SYSTEM32\control.exe"
    SCROLL="no"
    SINGLEINSTANCE="yes"
    MAXIMIZEBUTTON="no"
    MINIMIZEBUTTON="no"
    WINDOWSTATE="normal">
</head>
<script language="VBScript">
    Sub Window_onLoad
        ' 置中視窗
        strComputer = "."
        Set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
        Set col = objWMI.ExecQuery("Select * From Win32_DesktopMonitor")
        For Each obj In col
            w = obj.ScreenWidth : h = obj.ScreenHeight
        Next
        window.resizeTo 240, 500
        window.moveTo (w-240)/2, (h-500)/2
    End Sub

    Sub RunCmd(cmd)
        CreateObject("WScript.Shell").Run cmd, 0, True
    End Sub

    Sub OneSub   : RunCmd "shutdown -s -f -t 1800" : End Sub  ' 30分
    Sub TwoSub   : RunCmd "shutdown -s -f -t 2700" : End Sub  ' 45分
    Sub ThrSub   : RunCmd "shutdown -s -f -t 3600" : End Sub  ' 60分

    Sub OK
        If IsNumeric(Text.Value) Then
            RunCmd "shutdown -s -f -t " & (Text.Value * 60)
        Else
            MsgBox "請輸入有效數字"
        End If
    End Sub

    Sub ShutDown  : RunCmd "shutdown -s -t 0" : End Sub
    Sub EShutDown : RunCmd "shutdown -a" : End Sub   ' 取消
</script>
<body>
    <center>
    <input type="button" value="30 分鐘後關機" onclick="OneSub" style="height:30px;width:200px"><br><br>
    <input type="button" value="45 分鐘後關機" onclick="TwoSub" style="height:30px;width:200px"><br><br>
    <input type="button" value="60 分鐘後關機" onclick="ThrSub" style="height:30px;width:200px"><br><br>
    自訂分鐘: <input type="text" id="Text" style="width:120px"> 
    <input type="button" value="確定" onclick="OK"><br><br>
    <input type="button" value="取消關機排程" onclick="EShutDown" style="width:200px"><br><br>
    <input type="button" value="立即關機" onclick="ShutDown" style="width:200px">
    </center>
</body>

HTA 適用場景與限制

  • 適用:系統管理小工具、資料庫前端、自動化腳本 GUI、快速原型。
  • 限制:僅限 Windows (mshta.exe);IE 核心渲染 (不支援現代 CSS/JS);非沙箱,權限過高需謹慎分發。

資源連結

更多 HTA 範例:腳本之家 HTA 專區

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved