頁面導航: 首頁腳本專欄vbs → 正文內容 CreateObject和WScript.CreateObject的區別

VBS中CreateObject和WScript.CreateObject的區別介紹

發布:mdxy-dxy 字體:[增加 減小] 類型:轉載
很多VBS新手都很困惑CreateObject和WScript.CreateObject有什么區別,為什么一些代碼中用CreateObject,而另一些卻用WScript.CreateObject
CreateObject和WScript.CreateObject的區別一:
CreateObject是VBS的內置函數,屬于語言的一部分;而WScript.CreateObject是Windows腳本宿主(wscript.exe和cscript.exe)提供的WScript對象的方法。類似于批處理中內部命令和外部命令的關系。在VBS中,CreateObject總是可用的,而WScript.CreateObject只有在宿主為wscript.exe和cscript.exe的情況下才可以使用,在WMI、QTP、SecureCRT、EmEditor等其他宿主環境是無法使用的。

CreateObject和WScript.CreateObject的區別二:
如果只用第一個參數,那么CreateObject和WScript.CreateObject幾乎是相同的;但是如果要用到第二個參數,那么兩者就完全不同了。CreateObject的第二個參數用來通過DCOM在遠程服務器上創建對象;而WScript.CreateObject的第二個參數用來創建本地對象并響應事件。

一個響應事件的簡單例子:
復制代碼 代碼如下:

Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_")
IE.Visible = True
IE.Navigate "http://www.www8u888.com"
Do
WScript.Sleep 1000
Loop

Sub IE_OnQuit()
MsgBox "正在關閉Demon's Blog"
WScript.Quit
End Sub


CreateObject和WScript.CreateObject的區別三:

因為CreateObject是VBS的內置函數,不需要通過COM來調用,所以CreateObject比WScript.CreateObject要稍微快一點點(雖然幾乎可以忽略不計):

復制代碼 代碼如下:

t = Timer
For i = 1 To 100000
Set WshShell = WScript.CreateObject("Wscript.Shell")
Next
WScript.Echo Timer - t

'By Demon
t = Timer
For i = 1 To 100000
Set WshShell = CreateObject("Wscript.Shell")
Next
WScript.Echo Timer - t


Demon的建議:盡量使用CreateObject函數,除非你需要響應事件。這樣至少有三個好處:可移植性更好、速度更快、代碼更短。

作者: Demon
鏈接:
Tags:CreateObject

文章評論

最 近 更 新
熱 點 排 行
乐盈在线彩票 宜宾县 | 邳州市 | 柞水县 | 武清区 | 樟树市 | 阜宁县 | 齐齐哈尔市 | 宁明县 | 大竹县 | 苍溪县 | 连州市 | 汶上县 | 宝山区 | 和龙市 | 巢湖市 | 岐山县 | 祁门县 | 壤塘县 | 喀喇 | 江陵县 | 中山市 | 德庆县 | 华蓥市 | 沙洋县 | 金门县 | 宝清县 | 望都县 | 庆阳市 | 墨脱县 | 锦州市 | 宁夏 | 温州市 | 满城县 | 囊谦县 | 东宁县 | 随州市 | 平塘县 | 江油市 | 东光县 | 鄂尔多斯市 | 商洛市 | 青河县 | 海兴县 | 错那县 | 吉林省 | 秦皇岛市 | 吐鲁番市 | 鸡西市 | 金昌市 | 萨迦县 | 绍兴县 | 嵊泗县 | 萍乡市 | 清新县 | 静宁县 | 成安县 | 页游 | 来凤县 | 肥城市 | 牡丹江市 | 成都市 | 保靖县 | 石城县 | 巨鹿县 | 通榆县 | 孟州市 | 永善县 | 太仆寺旗 | 宽城 | 蓬莱市 | 西青区 | 浮梁县 | 巫山县 | 武胜县 | 凤凰县 | 信阳市 | 佳木斯市 | 桐梓县 | 洪江市 | 金乡县 | 嘉善县 | 黄平县 | 永吉县 | 永州市 | 横山县 | 梁山县 | 陇川县 | 抚顺县 | 大田县 | 古田县 | 平顶山市 | 常德市 | 鹿邑县 | 郴州市 | 梅州市 | 潮州市 | 双鸭山市 | 子洲县 | 崇左市 | 中西区 | 无为县 | 德江县 | 阜南县 | 吉首市 | 江口县 | 栾城县 | 舟山市 | 响水县 | 集安市 | 隆化县 | 甘泉县 | 汕头市 | 莒南县 | 普洱 | 金乡县 | 友谊县 | 彭州市 | 宣城市 | 九龙坡区 | 行唐县 | 新蔡县 | 新邵县 | 东方市 | 屏山县 | 日土县 | 石门县 | 石狮市 | 永泰县 | 游戏 | 金山区 | 微博 | 三明市 | 澳门 | 安徽省 | 玉屏 | 梨树县 | 沙坪坝区 | 天祝 | 台江县 | 泰来县 | 湖北省 | 西和县 | 长白 | 永仁县 | 陕西省 | 田林县 | 商水县 | 丰县 | 平南县 | 合川市 | 湖口县 | 嘉峪关市 | 莱阳市 | 荃湾区 | 于田县 | 泗洪县 | 城口县 | 宣汉县 | 西和县 | 五家渠市 | 旬邑县 | 孟连 | 浦北县 | 太和县 | 嘉黎县 | 合阳县 | 贺州市 | 黑山县 | 澄江县 | 通城县 | 遵化市 | 连云港市 | 望城县 | 霸州市 | 衡阳县 | 晴隆县 | 青铜峡市 | 襄汾县 | 德惠市 | 潜山县 | 枞阳县 | 通榆县 | 桂阳县 | 平湖市 | 贺州市 | 来凤县 | 顺义区 | 会泽县 | 中阳县 | 安塞县 | 石景山区 | 台州市 | 琼海市 | 尉犁县 | 吴桥县 | 余姚市 | 林口县 | 鸡东县 | 清河县 | 晴隆县 | 平远县 | 新余市 | 兴安盟 | 资中县 | 金湖县 | 靖远县 | 含山县 | 中方县 | 孟连 | 丰县 | 广德县 | 鲁山县 | 娄底市 | 长顺县 | 海南省 | 长垣县 | 扶沟县 | 福建省 | 牙克石市 | 特克斯县 | 城口县 | 缙云县 | 黄大仙区 | 齐河县 | 固安县 | 苍溪县 | 正镶白旗 | 惠来县 | 洛隆县 | 彭阳县 | 铁岭县 | 榆树市 | 丰镇市 | 瓦房店市 | 西平县 | 玉环县 | 海盐县 | 缙云县 | 长子县 | 达孜县 | 淮北市 | 博乐市 | 仙桃市 | 元朗区 | 安新县 | 周口市 | 府谷县 | 区。 | 东城区 | 东宁县 | 濮阳县 |