当前位置: 移动技术网 > IT编程>脚本编程>VBScript > VBS中CreateObject和WScript.CreateObject的区别介绍

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

2017年12月08日  | 移动技术网IT编程  | 我要评论
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 "//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
链接:

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网