創(chuàng)建一個(gè)在標(biāo)題欄中沒(méi)有“關(guān)閉”按鈕的 HTA
更新時(shí)間:2007年03月27日 00:00:00 作者:
問(wèn):
您好,腳本專家!如何創(chuàng)建一個(gè)在標(biāo)題欄中沒(méi)有“關(guān)閉”按鈕的 HTA?
-- AK
答:
您好,AK。您知道,您的問(wèn)題讓我們陷入了道德和倫理的窘境。畢竟,假如我們給出此問(wèn)題的答案:這個(gè)世界就有可能突然被大量無(wú)法關(guān)閉的 HTA 所淹沒(méi)。在我們的眼前會(huì)出現(xiàn)這樣一幅畫(huà)面:無(wú)法關(guān)閉又不能停止的 HTA 瘋狂地橫掃整個(gè)陸地,并吞食沿途的所有系統(tǒng)資源。而我們腳本專家,將要對(duì)此負(fù)責(zé)。我們只是覺(jué)得無(wú)法在良心上背負(fù)這樣一條的罪責(zé)。
但是,在我們的的良心上再多加一條罪責(zé)又會(huì)有什么不同呢?明確這一點(diǎn)后,我們給出了下面這個(gè)無(wú)法關(guān)閉的 HTA;關(guān)掉它的唯一方法就是終止 Mshta.exe 進(jìn)程(或者讓陸軍航空兵從帝國(guó)大廈頂部將其擊落):
<html>
<head>
<title>Test</title>
</head>
<HTA:APPLICATION
SysMenu="no"
>
<body>
<p>This HTA has no Close button.</p>
</body>
</html>
當(dāng)您運(yùn)行它的時(shí)候,看到的結(jié)果應(yīng)該同下圖相似:

那么我們是如何去掉“關(guān)閉”按鈕(更不用說(shuō)“最大化”和“最小化”按鈕了)而仍然保留窗口標(biāo)題欄的呢?很簡(jiǎn)單:只需將 SysMenu 屬性值設(shè)置為 no 即可:
<HTA:APPLICATION
SysMenu="no"
>
就是這樣:將 SysMenu 的值設(shè)置為 no(這必須在 HTA:APPLICATION 標(biāo)記內(nèi)部完成)將去掉“關(guān)閉”按鈕、“最大化”和“最小化”按鈕以及系統(tǒng)菜單。仍然可以四下移動(dòng)窗口(單擊標(biāo)題欄并拖動(dòng)即可),但是沒(méi)有辦法關(guān)閉窗口。
是的,我們的良心此刻有些不安。(盡管這很可能是因?yàn)槲覀兒韧炅俗詈笠槐Х鹊捎谔珣卸辉钢仄阋粔?。)下面是一個(gè)經(jīng)過(guò)修訂的在標(biāo)題欄中沒(méi)有“關(guān)閉”按鈕的 HTA;不過(guò),在它的主體之中卻的確有一個(gè)標(biāo)有 Exit 的按鈕。單擊此按鈕,一個(gè)名為 ExitProgram 的子例程將關(guān)閉 HTA 窗口:
<html>
<head>
<title>Test</title>
</head>
<HTA:APPLICATION
SysMenu="no"
>
<SCRIPT LANGUAGE="VBScript">
Sub ExitProgram
window.close()
End Sub
</SCRIPT>
<body>
<input id=runbutton type="button" value="Exit" onClick="ExitProgram">
</body>
</html>
在這種情況下,我們會(huì)得到一個(gè)類似下圖的 HTA:

出于全方面考慮,可能最好還是找到某種辦法以將 HTA 正常地關(guān)閉。但這將由您來(lái)決定。還有您的良心
您好,腳本專家!如何創(chuàng)建一個(gè)在標(biāo)題欄中沒(méi)有“關(guān)閉”按鈕的 HTA?
-- AK
答:
您好,AK。您知道,您的問(wèn)題讓我們陷入了道德和倫理的窘境。畢竟,假如我們給出此問(wèn)題的答案:這個(gè)世界就有可能突然被大量無(wú)法關(guān)閉的 HTA 所淹沒(méi)。在我們的眼前會(huì)出現(xiàn)這樣一幅畫(huà)面:無(wú)法關(guān)閉又不能停止的 HTA 瘋狂地橫掃整個(gè)陸地,并吞食沿途的所有系統(tǒng)資源。而我們腳本專家,將要對(duì)此負(fù)責(zé)。我們只是覺(jué)得無(wú)法在良心上背負(fù)這樣一條的罪責(zé)。
但是,在我們的的良心上再多加一條罪責(zé)又會(huì)有什么不同呢?明確這一點(diǎn)后,我們給出了下面這個(gè)無(wú)法關(guān)閉的 HTA;關(guān)掉它的唯一方法就是終止 Mshta.exe 進(jìn)程(或者讓陸軍航空兵從帝國(guó)大廈頂部將其擊落):
<html>
<head>
<title>Test</title>
</head>
<HTA:APPLICATION
SysMenu="no"
>
<body>
<p>This HTA has no Close button.</p>
</body>
</html>
當(dāng)您運(yùn)行它的時(shí)候,看到的結(jié)果應(yīng)該同下圖相似:

那么我們是如何去掉“關(guān)閉”按鈕(更不用說(shuō)“最大化”和“最小化”按鈕了)而仍然保留窗口標(biāo)題欄的呢?很簡(jiǎn)單:只需將 SysMenu 屬性值設(shè)置為 no 即可:
<HTA:APPLICATION
SysMenu="no"
>
就是這樣:將 SysMenu 的值設(shè)置為 no(這必須在 HTA:APPLICATION 標(biāo)記內(nèi)部完成)將去掉“關(guān)閉”按鈕、“最大化”和“最小化”按鈕以及系統(tǒng)菜單。仍然可以四下移動(dòng)窗口(單擊標(biāo)題欄并拖動(dòng)即可),但是沒(méi)有辦法關(guān)閉窗口。
是的,我們的良心此刻有些不安。(盡管這很可能是因?yàn)槲覀兒韧炅俗詈笠槐Х鹊捎谔珣卸辉钢仄阋粔?。)下面是一個(gè)經(jīng)過(guò)修訂的在標(biāo)題欄中沒(méi)有“關(guān)閉”按鈕的 HTA;不過(guò),在它的主體之中卻的確有一個(gè)標(biāo)有 Exit 的按鈕。單擊此按鈕,一個(gè)名為 ExitProgram 的子例程將關(guān)閉 HTA 窗口:
<html>
<head>
<title>Test</title>
</head>
<HTA:APPLICATION
SysMenu="no"
>
<SCRIPT LANGUAGE="VBScript">
Sub ExitProgram
window.close()
End Sub
</SCRIPT>
<body>
<input id=runbutton type="button" value="Exit" onClick="ExitProgram">
</body>
</html>
在這種情況下,我們會(huì)得到一個(gè)類似下圖的 HTA:

出于全方面考慮,可能最好還是找到某種辦法以將 HTA 正常地關(guān)閉。但這將由您來(lái)決定。還有您的良心
相關(guān)文章
exe轉(zhuǎn)換16進(jìn)制的html保存的hta實(shí)現(xiàn)代碼
用下面這個(gè)hta文件來(lái)轉(zhuǎn)exe變成16進(jìn)制的html保存了。這樣也會(huì)方便一點(diǎn)。2009-07-07hta編寫(xiě)的軟件管理工具0.1(IE7.0測(cè)試通過(guò))
程序初始化是建立與本文件同名后綴為mdb的數(shù)據(jù)庫(kù)2009-05-05hta實(shí)現(xiàn)的定時(shí)關(guān)機(jī)小程序
這個(gè)小程序使用hta寫(xiě)的,用了vbscript代碼實(shí)現(xiàn),喜歡的朋友可以測(cè)試下2013-07-07VBS腳本的GUI界面 HTA簡(jiǎn)明教程(網(wǎng)絡(luò)搜集整理)
HTA是HTML Application的縮寫(xiě)(HTML應(yīng)用程序),是軟件開(kāi)發(fā)的新概念,直接將HTML保存成HTA的格式,就是一個(gè)獨(dú)立的應(yīng)用軟件,雙擊就能運(yùn)行,與VB、C++等程序語(yǔ)言所設(shè)計(jì)的軟件沒(méi)什么差別。2009-08-08如何使一個(gè)HTA位于屏幕中心(Win32_DesktopMonitor)
我們可以調(diào)整(如果需要)窗口大小并使其居中,但這樣做時(shí)會(huì)在屏幕上出現(xiàn)瞬間的閃爍。這并不是太明顯,其實(shí)際結(jié)果就是你所期望的:HTA 會(huì)位于屏幕中心2013-08-08離22周歲距離多長(zhǎng)時(shí)間的計(jì)算[適合沒(méi)到22周歲的朋友]
保存下面的為HTMLApplication,后綴為HTA的文件,然后運(yùn)行,就可簡(jiǎn)單的計(jì)算出本人離22周歲大體差多少時(shí)間了。2011-02-02