1. 程式人生 > >Lewis's Space

Lewis's Space

hta就是一個HTML應用程式(HTML Application),只要你雙擊就能執行

只要簡單的用.hta為副檔名儲存HTML頁面就行了

下面的一個標準的HTML應用程式:
<HTML>
<HEAD>
<TITLE>HTA Demo</TITLE>
<HTA:APPLICATION ID=〃oHTA〃
APPLICATIONNAME=〃myApp〃
BORDER=〃thin〃
BORDERSTYLE=〃normal〃
CAPTION=〃yes〃
ICON=〃filename.ico〃
MAXIMIZEBUTTON=〃yes〃
MINIMIZEBUTTON=〃yes〃
SHOWINTASKBAR=〃no〃
INGLEINSTANCE=〃no〃
SYSMENU=〃yes〃
VERSION=〃1.0〃
WINDOWSTATE=〃normal〃>
</HEAD>
<BODY SCROLL=〃no〃>
<H1>HELLO, WORLD!</H1>
</BODY>
</HTML>


它多了HTA:APPLICATION標籤。其實就是這個標籤提供了一系列面向應用程式的功能。

它的各種屬性:

APPLICATIONNAME屬性(applicationName)
此屬性為設定HTA的名稱。

BORDER屬性(border)
此屬性為設定為HTA的視窗邊框型別,預設值為 thick。
它可以設為 thick 指定視窗為粗邊框
dialog window 指定視窗為對話方塊
none 指定視窗無邊框
thin 指定視窗為窄邊框

BORDERSTYLE屬性(borderStyle)
此屬性為設定HTA視窗的邊框格式,預設值為 normal。
它可以設為
normal 普通邊框格式
complex 凹凸格式組合邊框
raised 凸出的3D邊框
static 3D邊框格式
sunken 凹進的3D邊框

CAPTION屬性(caption)
此屬性為設定HTA視窗是否顯示標題欄或標題,預設值為 yes。

ICON屬性(icon)
此屬性為設定應用程式的圖示。

MAXIMIZEBUTTON屬性(maximizeButton)
此屬性為設定是否在HTA視窗中顯示最大化按鈕,預設值為 yes。

MINIMIZEBUTTON屬性(minimizeButton)
此屬性為設定是否在HTA視窗中顯示最小化按鈕,預設值為 yes。

SHOWINTASKBAR屬性(showInTaskBar)
此屬性為設定是否在工作列中顯示此應用程式,預設值為 yes。

SINGLEINSTANCE屬性(singleInstance)
此屬性為設定是否此應用程式同時只能執行一次。次屬性以APPLICATIONNAME屬性作為標識,預設值為 no。

SYSMENU屬性(sysMenu)
此屬性為設定是否在HTA視窗中顯示系統選單,預設值為 yes。

VERSION屬性(version)
此屬性為設定應用程式的版本,預設值為空。

WINDOWSTATE屬性(windowState)
此屬性為設定HTA視窗的初始大小,預設值為 normal。
它可以設為 normal 預設大小
minmize 最小化
maximize 最大化

以上括號中的是在指令碼引用的屬性。在指令碼中以上屬性皆為只讀屬性。此外,在指令碼中還可以使用commandLine屬性來檢索應用程式啟動時的引數。
在HTA中還可以使用html中的絕大多數標籤、指令碼等。

將用了fso的頁面作成hta,雙擊執行時就沒有安全警告的
var Controller = WScript.CreateObject("WSHController");
var RemoteScript = Controller.CreateScript("test.js", "remoteserver");
WScript.ConnectObject(RemoteScript, "remote_");
RemoteScript.Execute();

while (RemoteScript.Status != 2) {
WScript.Sleep(100);
}

WScript.DisconnectObject(RemoteScript);

function remote_Error()
{
var theError = RemoteScript.Error;
WScript.Echo("Error " + theError.Number + " - Line: " + theError.Line + ", Char: " + theError.Character + "/nDescription: " + theError.Description);
WScript.Quit(-1);