Windows 98的Shell語言

來源:互聯網
上載者:User

 

Windows 98的Shell語言

  楊山河

 

從DOS摸爬滾打過來的資深CFAN都知道批處理語言棗編輯一個批次檔,馬上即可在DOS下執行,完成一些不需太多互動的任務。這樣的語言有人稱之Shell語言。不知大家注意到沒有在Windows98系統裡也有Windows下的Shell語言,那就是指令碼語言。

Windows98系統支援的指令碼語言有兩種:VBScript和JavaScript。如果您編輯了副檔名為vbs或js的文字檔,您會在檔案夾中看到系統給檔案的一個表明此種檔案早登入的表徵圖。不是給出預設的表徵圖說明至少有一個程式與之關聯,這個應用程式是誰呢?如果查詢註冊表,您將瞭解到與之相關的是“C:/WINDOWS/WScript.exe “。此程式是一個指令碼語言解譯器,正是它使得您雙擊指令碼即可馬上(象執行DOS批處理一樣)執行。

指令碼語言基本上遵守 VB和VJ規則,以前必須在IE等瀏覽器或VB中解釋的指令碼現在可以直接執行。利用指令碼語言我們可以完成一些無需太多使用者互動的功能,比如您要在註冊表中添加或刪除某些項目,您可以參考下面的指令碼:

Message_Text = "此指令碼顯示如何讀寫登錄機碼。"

Title_Text = "如何利用指令碼讀寫註冊表"

Call Welcome()

Dim WSHShell

Set WSHShell = WScript.CreateObject("WScript.Shell")

WSHShell.Popup "建立項 HKCU/MyRegKey 數值為 'Top level key'"

WSHShell.RegWrite "HKCU/MyRegKey/", "Top level key"

WSHShell.Popup "將數值項 HKCU/MyRegKey/Entry/Value1 設為 REG_BINARY 3"

WSHShell.RegWrite "HKCU/MyRegKey/Entry/Value1", 3, "REG_BINARY"

Sub Welcome()

Dim intDoIt

intDoIt = MsgBox(MsgBox_Message_Text,

vbOKCancel + vbInformation, Title_Text )

If intDoIt = vbCancel Then

WScript.Quit

End If

End Sub

可以看到,指令碼語言基本上沒有必須預先聲明資料類型的限制,跟我們在 DOS下使用的早期Basic類似。這段代碼首先向使用者顯示一個訊息框,在得到使用者的確認後(否則直接退出指令碼執行,返回至系統),建立一個ProgID(編程標識)為“WScript.Shell “的對象,然後利用該對象的Popup方法顯示提示資訊,利用RegWrite方法向註冊表添加一個鍵,這些稍懂VB的人一定不會覺得費解。比起其它語言羅羅嗦嗦的一大串,Windows98的Shell語言是不是簡單得多呢?如果以後有類似的應用,您是否會想到它呢?

如果覺得還不能完全領會Windows98的Shell語言的話,您可以瀏覽一下/Windows/samples/wsh檔案夾,這裡面有微軟給您的幾個樣本。試著一個個雙擊,您一定會被所發生的一切感到驚奇!不信,請現在就開啟機器試一試。

 

--

1998寫的,那時候98剛出來,挺新鮮的

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.