午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    從 HTA 中啟動(dòng)應(yīng)用程序
    來(lái)源:易賢網(wǎng) 閱讀:1676 次 日期:2014-08-12 17:19:42
    溫馨提示:易賢網(wǎng)小編為您整理了“從 HTA 中啟動(dòng)應(yīng)用程序”,方便廣大網(wǎng)友查閱!

    如何從 HTA 中啟動(dòng)應(yīng)用程序?

    問(wèn):

    您好,腳本專家!對(duì)于 HTA,有沒(méi)有什么可以替代 Wscript.Shell 命令?我需要運(yùn)行某個(gè)應(yīng)用程序并指定要打開(kāi)的文件。

    -- DL

    答:

    您好,DL。是的,我們確實(shí)知道這樣的命令,可以在 HTA 中使用并可以替代 Wscript.Shell 命令,我們一會(huì)兒就會(huì)向您介紹。不過(guò),在介紹它之前,我們應(yīng)注意到您實(shí)際上可以在 HTA 中使用 Wscript.Shell 對(duì)象。這是一個(gè)常會(huì)引發(fā)混淆之處:因?yàn)槟?HTA 中無(wú)法使用某些命令(如 Wscript.Echo 和 Wscript.Sleep),人們就認(rèn)為您在 HTA 中無(wú)法使用任何 WSH 命令。

    繼續(xù)之前,還有一個(gè)問(wèn)題:為什么您在 HTA 中無(wú)法使用 Wscript.Echo 和 Wscript.Sleep 呢?是這樣,這些方法是 Wscript 對(duì)象的屬性,而您是無(wú)法創(chuàng)建 Wscript 對(duì)象實(shí)例。Wscript 對(duì)象是自動(dòng)創(chuàng)建的,而且只有在您運(yùn)行 Windows Script Host(即 Wscript.exe 或 Cscript.exe)時(shí)才會(huì)創(chuàng)建。正因?yàn)檫@一點(diǎn),才可以說(shuō)以下腳本絕對(duì)有效:

    代碼如下:

    Wscript.Echo "Hey."

    請(qǐng)注意,我們沒(méi)有創(chuàng)建 Wscript 對(duì)象,該對(duì)象是在我們調(diào)用 Windows Script Host 時(shí)自動(dòng)創(chuàng)建的。

    但這只限于 Wscript 對(duì)象。還有其他您可以創(chuàng)建的 WSH 對(duì)象,包括 Shell 對(duì)象。例如,下面是一個(gè)簡(jiǎn)單的小 HTA,它創(chuàng)建 Wscript.Shell 對(duì)象,然后運(yùn)行 Notepad.exe(并在此過(guò)程中打開(kāi)文件 C:\Scripts\Test.txt):

    代碼如下:

    <html>

    <head>

    <script language="VBScript">

    Sub RunProgram

    Set objShell = CreateObject("Wscript.Shell")

    objShell.Run "notepad.exe c:\scripts\test.txt"

    End Sub

    </script>

    </head>

    <body>

    <button onclick="RunProgram">Run Program</button> <p>

    </body>

    </html>

    如您可以看到的,這差不多是您能獲得的最簡(jiǎn)單的 HTA:它只由一個(gè)按鈕組成,單擊時(shí)會(huì)運(yùn)行名為 RunProgram 的子例程。請(qǐng)看一下 RunProgram 的代碼:

    代碼如下:

    Sub RunProgram

    Set objShell = CreateObject("Wscript.Shell")

    objShell.Run "notepad.exe c:\scripts\test.txt"

    End Sub

    就是這樣:我們創(chuàng)建 Wscript.Shell 對(duì)象的一個(gè)實(shí)例,然后調(diào)用 Run 方法。這樣就為 Run 傳遞了單一參數(shù):可執(zhí)行文件名 (notepad.exe) 后跟想要打開(kāi)的文件的路徑。這就是我們需要做的一切。

    順便說(shuō)一句,只要是在 HTA 中運(yùn)行該腳本,則不會(huì)有任何問(wèn)題。如果嘗試在 HTML 文件(即文件擴(kuò)展名為 .htm 的文件)中運(yùn)行它,則會(huì)顯示一個(gè)消息框,警告您有一個(gè) ActiveX 控件正在嘗試于頁(yè)面上運(yùn)行。此時(shí)必須單擊是以允許該子例程創(chuàng)建 Shell 對(duì)象,并隨后運(yùn)行它。這是因?yàn)?WSH 對(duì)象被認(rèn)為“對(duì)腳本編寫(xiě)是不安全的”。

    注意:是啊,這聽(tīng)起來(lái)有點(diǎn)怪,竟然認(rèn)為腳本編寫(xiě)對(duì)象對(duì)腳本編寫(xiě)是不安全的。但這是因?yàn)?Internet Explorer 使用與 WSH 不同的腳本宿主和不同的安全模型。幸好 HTA 使用與 Internet Explorer 不同的安全模型,這意味著您在 HTA 內(nèi)創(chuàng)建 Shell 對(duì)象時(shí)不會(huì)遇到此問(wèn)題。

    那么,如果是使用那個(gè)替代命令呢?嗯,如果出于某種原因您不想使用 Wscript.Shell 對(duì)象,則可以改為使用 Windows Shell 對(duì)象。下面的 HTA 也可以啟動(dòng)記事本并打開(kāi)文件 C:\Scripts\Test.txt:

    代碼如下:

    <html>

    <head>

    <script language="VBScript">

    Sub RunProgram

    Const NORMAL_WINDOW = 1

    Set objShell = CreateObject("Shell.Application")

    objShell.ShellExecute "notepad.exe", "c:\scripts\test.txt", , , NORMAL_WINDOW

    End Sub

    </script>

    </head>

    <body>

    <button onclick="RunProgram">Run Program</button> <p>

    </body>

    </html>

    坦白地講,我們認(rèn)為使用 Windows Shell 對(duì)象與使用 Wscript.Shell 對(duì)象相比并沒(méi)有什么真正的優(yōu)勢(shì):這兩個(gè)對(duì)象的功能基本上一樣。不過(guò),如果您想要擺弄一下 Windows Shell,請(qǐng)查閱有關(guān) ShellExecute 方法的文檔。重要的是這一點(diǎn):如果想要從 HTA 啟動(dòng)應(yīng)用程序,兩種方法都可以使用。

    更多信息請(qǐng)查看IT技術(shù)專欄

    更多信息請(qǐng)查看腳本欄目
    易賢網(wǎng)手機(jī)網(wǎng)站地址:從 HTA 中啟動(dòng)應(yīng)用程序
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國(guó)考·省考課程試聽(tīng)報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)