网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 VBS中CreateObject和WScript.CreateObject的区别介绍
内容
    很多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.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函数,除非你需要响应事件。这样至少有三个好处:可移植性更好、速度更快、代码更短。
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/13 23:43:31