亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

運行腳本之前,如何確定計算機上的默認腳本宿主的代碼

2020-06-26 18:07:02
字體:
來源:轉載
供稿:網友
問: 
您好,腳本專家!我知道,在運行腳本時,可使用代碼確定腳本是否在 WScript 或 CScript 中運行。但我想不明白的是:運行腳本之前,如何確定計算機上的默認腳本宿主? 
-- AT 
答: 
您好,AT。您知道,人們完全難倒腳本專家并不是常事;不過我們不得不承認這個問題的確有點挑戰性。(嗯,嗯:那么,或許它并不足以能夠難倒腳本專家;老實說,事實上它相當簡單。不過你們無需知道這些。)我們還不知道如何回答這個問題,但我們知道,為了幫助您解決這個問題,我們將會需要大量辛勤的工作和奉獻。 
但是,在困難面前,腳本專家放棄過嗎?嗯,事實上,我們放棄過。不過,在處理一些毫不相關的事情時,我們卻意外發現了答案。以下這個腳本(使用有點迂回的方法)將告訴您計算機上的默認腳本宿主: 
復制代碼代碼如下:

Const HKEY_CLASSES_ROOT = &H80000000  
strComputer = "."  
Set objRegistry = GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv")  
strKeyPath = "VBSFile/Shell/Open/Command"  
objRegistry.GetExpandedStringValue HKEY_CLASSES_ROOT,strKeyPath,vbNullString,strValue  
strValue = LCase(strValue)  
If InStr(strValue, "wscript.exe") then  
    Wscript.Echo "WScript"  
Else  
    Wscript.Echo "CScript"  
End If 

從中可以看出,有關默認腳本宿主的信息存儲在注冊表中,盡管不是處在特別明顯的位置。您所需要做的只是打開 HKEY_CLASSES_ROOT,找到注冊表項 VBSFile/Shell/Open/Command,然后查看默認值。(默認值是個例外的未命名的注冊表值,該注冊表值在 Regedit 中以“(默認)”的形式出現。)“(默認)”的值將是腳本宿主可執行程序的路徑 (例如,%SystemRoot%/System32/WScript.exe)。換句話說,可執行程序文件將告訴您默認腳本宿主是 CScript 還是 WScript。 
那么,實際上我們如何獲得該值呢?嗯,我們首先定義一個名為 HKEY_CLASSES_ROOT 的常量,并將其值設定為 &H80000000;這會告訴腳本我們要使用哪個注冊表配置單元。然后,連接到本地計算機上的 WMI 服務(盡管我們可輕而易舉地對遠程計算機運行該腳本),務必綁定到 root/default 命名空間。(大多數 WMI 腳本使用 root/cimv2 命名空間,但是出于某些原因,系統注冊表提供程序還是位于 root/default 中??赡苁亲》枯^便宜或是學校較好的原因吧。) 
進行連接后,我們創建名為 strKeyPath 的變量,并為其分配值 VBSFile/Shell/Open/Command。此時,我們準備從注冊表中讀取該值。 
什么?難道我們忘了什么事情?不,我們未忘記任何事情。(盡管現在您提到它,但我們卻有點想知道在我們早上離開屋子的時候是否有人將爐子關閉。)您說對了,在大多數 WMI 注冊表腳本中,我們需要將值分配給兩個變量,一個代表注冊表項,另一個代表注冊表項中所需的值。不過,在本例中,我們不需要創建在其中存儲注冊表值名稱的變量。為什么不能呢?因為,從技術角度來說,“(默認)”值實際上并沒有名稱;它們只不過是默認值而已。我們最終所要做的是告訴該腳本從此特殊的注冊表項中讀取 Null 值。這聽起來似乎不是很好的計劃,不過幸運的是,“注冊表提供程序”將知道這意味著讀取“(默認)”值。  
事實上,當談到這個主題時,以下該行代碼便可為我們檢索值: 
objRegistry.GetExpandedStringValue HKEY_CLASSES_ROOT,strKeyPath,vbNullString,strValue 
因為“(默認)”碰巧具有 REG_EXPAND_SZ 數據類型,所以我們調用 GetExpandedStringValue 方法,傳遞四個參數: 
? HKEY_CLASSES_ROOT,告訴腳本要使用哪個注冊表配置單元的常量。 
? strKeyPath,告訴腳本要使用哪個注冊表項的變量。 
? vbNullString,一個代表 Null 值的 VBScript 常量。這是我們通常插入代表值名稱變量之處,不過正如我們說過的,這次我們的值沒有名稱。 
? strValue,一個“輸出”參數。GetExpandedStringValue 需要用一個地方來存儲其從注冊表中讀取的值;輸出參數只是一個占位符變量,可在其中存儲值。 
GetExpandedStringValue 可用后,我們便可使用該行代碼將 strValue 中的所有字符更改為小寫;這樣做是為了更容易確定該值是否含有特殊字符串。 
strValue = LCase(strValue) 
最后,我們調用 InStr 函數,看看是否可在 strValue 中任何地方找到該字符串值 wscript.exe。如果可以找到,則我們將回顯默認腳本宿主 WScript;如果沒有找到,則一定意味著默認腳本宿主為 CScript: 
復制代碼代碼如下:

If InStr(strValue, "wscript.exe") then  
    Wscript.Echo "WScript"  
Else  
    Wscript.Echo "CScript"  
End If 
這樣就可以了,AT:現在,在不運行腳本的情況下,您便可確定計算機上的默認腳本宿主。(是的,我們知道您不得不運行確定默認腳本宿主的腳本…不過您找到答案了。)我們希望您能發現此腳本的用處,并希望每個人在今天都學到了重要一課:盡你所能,也無法難倒腳本專家。 
嗯,除非您問我們一個無法回答的問題。但是,只要問我們可以回答的問題就絕不會難倒我們。 
是的:幾乎沒有可能。 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人在线一区| 色在人av网站天堂精品| 午夜精品美女自拍福到在线| 91精品国产自产91精品| 大胆欧美人体视频| 福利视频第一区| 成人欧美一区二区三区在线湿哒哒| 亚洲精品成人久久久| 性色av一区二区三区在线观看| 懂色av一区二区三区| 亚洲综合自拍一区| 91精品国产乱码久久久久久久久| 久久国产色av| 久久久久久久激情视频| 中文字幕欧美日韩精品| 欧美亚洲另类视频| 国产精品色午夜在线观看| 国产日韩欧美在线视频观看| 国产精品视频男人的天堂| 国产亚洲视频在线观看| 91精品国产网站| 日韩欧美一区视频| 国产精品久久久久久亚洲调教| 国产美女直播视频一区| 国产精品久久久亚洲| 亚洲老板91色精品久久| 亚洲欧美制服另类日韩| 精品无人区太爽高潮在线播放| 欧美性受xxxx白人性爽| 亚洲va欧美va在线观看| 狠狠躁夜夜躁人人爽超碰91| 亚洲免费中文字幕| 国产精品∨欧美精品v日韩精品| 欧美视频在线免费| 欧美国产乱视频| 久久五月天综合| 亚洲xxxx视频| 欧美日韩精品二区| 色视频www在线播放国产成人| 亚洲情综合五月天| 久久91精品国产| 国产欧美日韩中文| 国产精品三级网站| 国产精品免费一区豆花| 亚洲精品久久久久久久久| 国产在线观看一区二区三区| 91综合免费在线| 夜夜狂射影院欧美极品| 国产a∨精品一区二区三区不卡| 国产+成+人+亚洲欧洲| 午夜精品在线观看| 国产成人精品视| 热re99久久精品国产66热| 亚洲欧美综合精品久久成人| 亚洲精品欧美一区二区三区| 美女福利视频一区| 色偷偷888欧美精品久久久| 亚洲欧美日本伦理| **欧美日韩vr在线| 午夜精品久久久久久久男人的天堂| 欧美另类99xxxxx| 欧美性xxxx在线播放| 欧美www在线| 九九热视频这里只有精品| 俺去亚洲欧洲欧美日韩| 热re91久久精品国99热蜜臀| 亚洲综合中文字幕在线| 久久久久日韩精品久久久男男| 国产精品久久久久久久久久久新郎| 成人国产在线激情| 66m—66摸成人免费视频| 亚洲国产精品嫩草影院久久| 亚洲伊人第一页| 亚洲黄色免费三级| 亚洲精品在线看| 欧美黑人xxxx| 亚洲图片欧美午夜| 欧美成人精品一区二区| yw.139尤物在线精品视频| 成人淫片在线看| 亚洲国产精品99| 97在线视频一区| yw.139尤物在线精品视频| 亚洲精品午夜精品| 精品中文字幕在线| 国产精品第一页在线| 97涩涩爰在线观看亚洲| 欧美激情在线有限公司| 欧美激情视频一区二区三区不卡| 91免费看视频.| 久久中文字幕在线视频| 欧美小视频在线观看| 国模私拍一区二区三区| 国产一级揄自揄精品视频| 亚洲美腿欧美激情另类| 亚洲午夜色婷婷在线| 亚洲黄页视频免费观看| 国产精品美女免费视频| 国产精品久久久久免费a∨| 国产精品免费久久久久影院| 成人久久一区二区| 国产精品露脸自拍| 亚洲国产高清自拍| 中文字幕亚洲一区二区三区五十路| 国产情人节一区| 久久视频国产精品免费视频在线| 久久久久久一区二区三区| 国产精品中文字幕在线观看| 久久精品电影网| 亚洲综合中文字幕68页| 欧美劲爆第一页| 97久久精品在线| 亚洲精品国精品久久99热| 国产网站欧美日韩免费精品在线观看| 91香蕉电影院| 国产精品久久久久77777| 中文字幕日韩专区| 亚洲精品第一国产综合精品| 茄子视频成人在线| 啪一啪鲁一鲁2019在线视频| 91久久国产精品91久久性色| 久久天天躁狠狠躁夜夜av| 亚洲免费视频在线观看| 欧美黑人国产人伦爽爽爽| 日韩在线免费av| 精品中文字幕在线观看| 成人免费视频网| 亚洲国产精品系列| 亚洲精品白浆高清久久久久久| 国产97在线|日韩| 欧美中文字幕视频| 国产精品成久久久久三级| 成人黄色中文字幕| 秋霞av国产精品一区| 国产精品视频公开费视频| 国产精品亚洲第一区| 中文字幕欧美日韩va免费视频| 久久理论片午夜琪琪电影网| 日本19禁啪啪免费观看www| 日本精品中文字幕| 日韩美女视频在线观看| 岛国av一区二区| 都市激情亚洲色图| 亚洲男女自偷自拍图片另类| 日韩精品中文字幕有码专区| 97视频com| 久久99久久99精品中文字幕| 欧美在线视频网站| 成人免费网站在线观看| 97色在线视频观看| 岛国av在线不卡| 欧美一二三视频| 国产精品极品美女在线观看免费| 久久久噜噜噜久久久| 国产视频亚洲精品| 九九热这里只有精品6| 色综合五月天导航| 正在播放国产一区| 亚洲黄页网在线观看| 最新亚洲国产精品| 九九热r在线视频精品| 色综合亚洲精品激情狠狠| 日韩国产一区三区| 欧美日韩成人精品|