VBS中CreateObject和WScript.CreateObject的区别介绍

所属分类: 脚本专栏 / vbs 阅读数: 260
收藏 0 赞 0 分享
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 "https://www.jb51.net"
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
链接: http://demon.tw/programming/vbs-createobject-wscript-createobject.html
更多精彩内容其他人还在看

支持断点下载的VBS代码

VBS真是妙用无穷。会的程序语言不用太多,也不用太复杂,精通一门就好
收藏 0 赞 0 分享

VBS中的SetLocale函数到底有什么用?

写了这么多VBS,从来都没有使用过SetLocale函数,似乎也没有见过谁的代码使用过,这个SetLocale函数到底有什么用呢
收藏 0 赞 0 分享

VBS中CreateObject和WScript.CreateObject的区别介绍

很多VBS新手都很困惑CreateObject和WScript.CreateObject有什么区别,为什么一些代码中用CreateObject,而另一些却用WScript.CreateObject
收藏 0 赞 0 分享

用VBS实现的凯撒密码算法

在密码学中,恺撒密码(或称恺撒加密、恺撒变换)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向後(或向前)按照一个固定数目进行偏移後被替换成密文
收藏 0 赞 0 分享

通过vbs修改目录名称与快捷方式名称的实现代码

这篇文章主要是分享了如果用vbs修改目录名与快捷方式名称的代码,需要的朋友可以参考下
收藏 0 赞 0 分享

用VBScript制作QQ自动登录的脚本代码

有时候我们在个人电脑上,每次输入密码比较麻烦,可以自动登录,但如果qq账号多了,就可以使用这个脚本了
收藏 0 赞 0 分享

VBSCript之GenerateSDDL函数(权限设置)

自己写的一个函数和应用实例,用于设置对象的相关权限,需要的朋友可以参考下
收藏 0 赞 0 分享

去掉RAR右键解压菜单的VBS代码

前两天写了个批处理的,效率不高,百度、谷歌后找到一个更好的办法
收藏 0 赞 0 分享

vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)

使用vbs 脚本对工作目录下的字符串进行替换并统计被修改的文件数主调的批处理方法将捕捉该vbs脚本运行后的结果并打印在cmd窗口。
收藏 0 赞 0 分享

用vbs产生的若干个随机数并写入到一个.txt中的代码

用vbs产生的若干个随机数并写入到一个.txt中的代码,需要的朋友可以参考下。
收藏 0 赞 0 分享
查看更多