天天看點

WSH腳本宿主

WSH,是“Windows Scripting Host”的縮略形式,其通用的中文譯名為“Windows 腳本宿主”。

<b></b>

Wscript腳本主對象

WScript.Echo WScript.BuildVersion

'WSH腳本宿主的生成版本号

WScript.Echo WScript.FullName

'傳回WSCRIPT或CSCRIPT腳本宿主所在的位置路徑

WScript.Echo WScript.Interactive

'傳回腳本模式,僅傳回互動模式和批處理模式,預設為互動模式

WScript.Echo WScript.Name '傳回 WScript

對象(主機可執行檔案)的名稱

Wscript.Echo WScript.Path

'傳回包含主機可執行文CScript.exe或WScript.exe的路徑名稱

WScript.Echo WScript.ScriptName

'傳回目前輕按兩下執行的WSF或VBS或JS檔案的檔案名

WScript.Echo WScript.Version

'傳回WSCRIPT或CSCRIPT的版本号

WScript.Echo WScript.ScriptFullName

'傳回目前運作腳本的完整路徑

WScript.Echo WScript.Arguments.count

'傳回使用者所拖放檔案至腳本時的拖放檔案個數

WScript.Echo WScript.Arguments(0)

'傳回使用者所拖放檔案第1個單個檔案的完整路徑和名稱

WScript.Sleep 3000

'使程式間隔一段時間後繼續執行,機關豪秒,這裡1000=1秒

Set objname=WScript.CreateObject("??")

'WSH建立COM對象,??是建立對象函數字首,如WScript.Network

WScript.ConnectObject

連接配接正與外部腳本連接配接的變量名, "表示函數字首的字元串值"

WScript.DisconnectObject

需要斷開連接配接的正與外部腳本連接配接的變量

WScript.Echo "彈出對話框後顯示的消息文字或變量"[,可選第二消息,第三消息......]

Set

myobj=GetObject(?[,??],[???])

'?=檔案的完全限定路徑名,??=可選。對象的程式辨別符,???=啟動的關聯應用程式名

WScript.Quit [?]

'終止程式繼續運作的函數,在其下語句則不會執行,?=可不添的,代表退出後的傳回值

'請将此程式少加修改存為wsf字尾的檔案,然後及可運作,其中當然可以使用VBS的msgbox等函數,同樣也可以使用FSO,ADO等技術,但是首先你必須保證你的機器已經裝有Wscript.exe和Cscript.exe,還有也可以在HTML網頁中使用WSH的諸如Shell對象。此句為注釋,你可以删除.Shell對象

WshShell=WScript.CreateObject("WScript.Shell")

WScript.Echo

WshShell.CurrentDirectory '傳回或更改目前的活動目錄

Set sys=WshShell.Environment

'顯示系統狀态,詳細請看網絡程式員伴侶WSH執行個體

Wscript.Echo WshShell.SpecialFolders("Desktop")

'對WINDOW特殊檔案夾的簡易引用,詳細見執行個體

WshShell.ExpandEnvironmentStrings("%WinDir%") '傳回環境變量的擴充值,詳細見執行個體

WshShell.Run

"calc",0-10 '運作一個程式,詳細見執行個體

WshShell.AppActivate "網絡程式員伴侶-Lshdic2002"

'使指定标題的程式或檔案獲得焦點

WshShell.SendKeys "{del}"

'按鍵(仿佛是在鍵盤上擊鍵一樣),詳細見執行個體

WshShell.Popup

"彈出對話框正文",0-5/16/32/48/64,"彈出對話框标題",0-5/16/32/48/64 '彈出對話框

WshShell.RegWrite

"HKCU\Software\ACME\FortuneTeller\",1,"REG_BINARY"

'寫系統資料庫見執行個體

WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\MindReader"

'删除系統資料庫見執行個體

key=WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\")

'讀系統資料庫見執行個體

'請将此程式少加修改存為wsf字尾的檔案,然後及可運作,其中當然可以使用VBS的msgbox等函數,同樣也可以使用FSO,ADO等技術,但是首先你必須保證你的機器已經裝有Wscript.exe和Cscript.exe,還有也可以在HTML網頁中使用WSH的諸如Shell對象。此句為注釋,你可以删除.

<b>Network對象</b>

WshNetwork = WScript.CreateObject("WScript.Network")

WScript.Echo "你的域名是: "

&amp; WshNetwork.UserDomain '傳回使用者的域名

WScript.Echo "你的計算機系統名稱是:" &amp;

WshNetwork.ComputerName '傳回計算機系統的名稱

WScript.Echo "你是:" &amp;

WshNetwork.UserName

'傳回計算機使用者名

<b>完整WSH執行個體</b>

wscript.echo

"這便是一簡單的WSH程式,從此你又多學了一項新技術[WSH]"

msgbox "怎麼樣?VBS中的msgbox也起作用哦" &amp; vc &amp;

vc &amp; "少等1500毫秒,彈出JS語言版的對話框",32,"WSH執行個體"

WScript.Sleep 1500

'使程式停頓1500毫秒

pop=WScript.CreateObject("Wscript.Shell")

pop.Popup

("恭喜!你終于懂了",48,"這是JS哦")

<b>快捷方式操作執行個體</b>

Set Shell =

CreateObject("WScript.Shell")

paths = Shell.SpecialFolders("Desktop")

'用函數指定特殊檔案夾,這裡是[桌面]

Set link = Shell.CreateShortcut(paths &amp;

"\快捷方式名稱.lnk")

link.Description = "此句為注釋,這是用WSH建立的快捷方式"

link.HotKey =

"CTRL+ALT+SHIFT+X" '這是為快捷方式定義快捷鍵

link.IconLocation = "pbrush.exe,0"

'指定快捷方式圖示,這裡勉強先用畫圖程式的圖示

link.TargetPath = "http://www.lshdic.com"

'這裡指定連接配接目标,先勉強用我以前的首頁代替

link.WindowStyle = 3 '窗體彈出方式。

link.WorkingDirectory

= paths '指定快捷方式的工作目錄

msg = msgbox("你确認要在桌面建立一個快捷方式嗎?",32+1,"如何?")

if msg =

1 then

link.Save '儲存使程式立即生效

end

if

'此檔案運作請儲存為wsf字尾的檔案

<b>系統資料庫操作執行個體</b>

"HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet

Explorer\Control Panel\homepage",1,"REG_DWORD"

'寫系統資料庫(0=要寫的值,REG_DWORD是16或10進制格式也可以是REG_SZ=字元串

REG_BINARY=二進制值整數REG_EXPAND_SZ=可擴充的字元串)

Msgbox

WshShell.RegRead

("HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet

Explorer\Control Panel\homepage")

'讀系統資料庫操作

'注意,程式寫到這裡如果将homepage的值設為1,則IE浏覽器internet選項的IE首頁設定欄将變灰,确認請打開IE浏覽器檢視,如果想恢複,則把本程式的homepage的值改成0運作即可

, 由此可見WSH操作系統資料庫的确是很實用的技術!此檔案運作請儲存為wsf字尾的檔案模拟輸入執行個體

WshShell.Run "Notepad",1

'運作WINDOWS系統自帶的記事本程式

wscript.sleep 1000

'停頓1秒種為了使記事本程式加載完畢

WshShell.AppActivate "無标題 - 記事本"

'使記事本程式獲得焦點

WshShell.SendKeys "1234567890 hehe" '開始模拟按鍵了

wscript.sleep 500

wshshell.sendkeys "{enter}no not"

wshshell.sendkeys

"{bs 11}"

wscript.sleep 600

wshshell.sendkeys " hahahahahahaha!Bye bye my

boby ~0_0~ "

<b>系統檢測執行個體</b>

sys=WshShell.Environment

for each i in sys

'采用VBS的窮盡方法,直至sys為空

i

next

'此檔案運作請儲存為wsf字尾的檔案,如果在網絡運作,請隻保留VBS語句。

繼續閱讀