VBS中CreateObject和WScript.CreateObject的区别介绍
程序员文章站
2022-09-05 09:10:39
createobject和wscript.createobject的区别一: createobject是vbs的内置函数,属于语言的一部分;而wscript.createo...
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
链接:
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
链接:
推荐阅读
-
Angular.js中ng-if、ng-show和ng-hide的区别介绍
-
CSS3中background-clip和background-origin的区别示例介绍
-
Oracle中的Connect/session和process的区别及关系介绍
-
主板中的uATX板型和ATX板型的区别介绍
-
在JavaScript中,defer和async的区别介绍
-
Java线程中sleep和wait的区别详细介绍
-
Perl中chomp和chop的区别介绍
-
深入理解Python中的 __new__ 和 __init__及区别介绍
-
PHP中new static() 和 new self() 的区别介绍
-
VBS中CreateObject和WScript.CreateObject的区别介绍