标题: [原创] VBS基础(2)WSH对象的方法 [打印本页]
作者: novaa 时间: 2007-12-7 19:06 标题: VBS基础(2)WSH对象的方法
此都是本人学习时候的笔记。手一个一个打出来的。5555.网上资料太少了转载注明bbs.bathome.net- 一 WScript对象的方法
- 1.CreateObject
- 说明:通过应用StrProgID参数来创建一个对象。
- 语句:
- object.CreateObject(StrProgID[,StrPrefix])
- StrProgID:所创建脚本的程序ID.
- 例子:创建一个WshNetwork对象
- Set WshNetwork=WScript.CreateObject("WScript.Network")
-
- 2.ConnectObject
- 说明:用所给的前缀名功能来连接一个脚本的事件来源。
- 语句:
- object.ConnectObject StrObject,StrPrefix
- StrObject:被连接对象的名称。
- StrPrefix:事件功能的前缀。
- 下面的例子把一个假设的对象连接至脚本文件,然后脚本调用"SomeMethod".如果在对象中有一个名为"Event"的事件,那么将调用名为MyEvent_Event的子程序。
- //注读者可自己使用VB创建SomeObject对象
- Set MyObject=WScript.CreateObject("SomeObject")
- MyObject.SomeMethod
- WScript.ConnectObject MyObject,"MyEvent_"
- Sub MyEvent_Event(strName)
- WScript.Echo strName
- End Sub
- WScript.DisconnectObject MyObject
-
- 3.DisconnectObject
- 说明:从Windows Script Host 切断先前连接的对象。
- 参数:
- object:WScript对象。
- Obj:被结束的对象名.
-
- 4.Echo
- 说明:将输出内容发送至对话框或控制台。
- 语句:
- object.Echo [Arg1][,Arg2][,Arg3]...
- 参数
- object:WScript对象。
- Arg1,Arg2,Arg3...:所显示的 条目清单。
-
- 5.GetObject
- 说明:通过指定strProgID参数,从一个文件或一个对象取回一个自动对象。
- 语句:
- object.GetObject(strPathname[,strProgID][,strPrefix])
- 参数:
- StrPathname:必须,取回的对象必须包含文件的完整路径和名称。
- StrProgID:可选,代表对象的程序号.
- ps:使用GetObject方法时,必须有当前访问对象,或是已经调用了的要从其中创建对象的文件。如果没有当前对象或是不想从已调用的文件中创建对象,请使用CreateObject的方法。
-
- 6.Quit
- 说明:退出执行操作,并放回出错代码。
- 语句:
- object.Quit[intErrorCode]
- intErrorCode:可选猜数。如果使用此参数,WScript会把其作为处理退出的代码放回。如果intErrorCode被忽略,WScript会返回零作为处理退出的代码。
-
- 7.Sleep
- 说明:让脚本在执行过程中进入停止状态,时间单位为其指定的毫秒,然后继续。
- 语句:
- object.Sleep(int Time)
- ps:在睡眠时,脚本已经在处理的事件仍会执行完毕。如果脚本引擎超时或因其他原因中断,睡眠立即停止。
- 例子:
- (运行Windows 的计算器。并把击键值送入。进行简单的运算)
- Set WshShell=WScript.CreateObject("WScript.Shell")
- WshShell.Run "calc"
- WScript.Sleep 100
- WshShell.AppActivate "Calculator"
- WScript.Sleep 100
- WshShell.Sendkeys "1{+}"
- WScript.Sleep 500
- WshShell.Sendkeys "2"
- WScript.Sleep 500
- WshShell.Sendkeys "~"
- WScript.Sleep 500
- WshShell.Sendkeys "*3"
- WScript.Sleep 500
- WshShell.Sendkeys "="
- WScript.Sleep 2500
-
- 二:WshEnvironment对象的方法。
- 1.Remove
- 说明:用指定的strName删除环境变量。
- 语句:
- object.Remove(strName)
- 例子:以下的范例删除了 EXAMPLE这个环境变量,并删除了用户环境下的多种参数。
- Set WshShell=WScript.CreateObject("WScript.Shell")
- WshShell.Environment("VOLATILE").Remove("EXAMPLE")
- Set WshUsrEnv=WScript.Environment("User")
- WshUsrEnv.Remove("EXAMPLE_1")
- WshUsrEnv.Remove("EXAMPLE_2")
- WshUsrEnv.Remove("EXAMPLE_3")
- WshUsrEnv.Remove("EXAMPLE_4")
-
- 三:WshNetwork对象的方法
- 1.AddPrinterConnection
- 说明:用参数strRemoteName和strLocalName(本地资源名)来映射远程打印机。
- 语句:
- object.AddPrinterConnection strLocalName,strRemoteName[,bUpdateProfilr][,strUser][,strPassword]
- StrLocalName:本地资源名。
- strRemoteName:远程资源名。
- bUpdateProfile:可选参数,如果提供的bUpdateProfile的值是“TRUE”,那么这个映射会留在用户档案中。
- StrUset:可选。如果使用非当前用户的方式映射远程打印机,可以知道StrUser 和StrPassward
- 例子:连接网络打印机到LPT1端口。
- Set WshNetwork=CreateObject("WScript.Network")
- WshNetwork.AddPrinterConnection "LPT!","\\Server\Print]"
-
- 2 EnumNetworkDrives
- 说明:返回网络驱动器的映射。
- 语句:objDrives=object.EnumNetworkDrive
-
- 3.EnumPrinterConnection
- 说明:返回当前网络打印机的映射信息。
- 语句:objPrinters=object.EnumPrinterConnections
- ps:对于2和3方法。在信息的条目中有本地名和远程名,第一个条目是驱动器盘符,第二个条目是网络映射信息。这种模式用于网络映射信息集。
-
- 4.MapNetworkDrive
- 说明:用参数strRemoteName和strLocalName来映射共享信息。
- 语句:object.MapNetworkDrive strLocalName,strRemoteName,[bUpdateProfile],[strUser],[strPassword]
- 例子:把”Z“驱动器映射到网络共享:
- Set WshNetwork=WScript.CreateObject("WScript.Network")
- WshNetwork.MapNetworkDrive "Z:","\\Server\Share"
-
- 5 RemoveNetworkDrive
- 说明:用参数strName删除连接的当前资源。
- 语句:
- object.RemoveNetworkDrive strName,[bForce],[bUpdateProfile]
- bForce:可选参数。如果提供的值是“TRUE”,那么这个映射从用户档案中删除。
- 例子:把驱动器"Z"映射为网络共享,然后再删除此连接。
- Set WshNetwork=WScript.CreateObject("WScript.Network")
- WshNetwork.MapNetworkDrive "Z:","\\Server\Share"
- WshNetwork.RemoveNetworkDrive "Z:"
-
- 6.RemovePrinterConnection
- 参考 5
-
- 7. SetDefaultPrinter
- 说明:把指定的远程打印机设置为默认的打印机。
- 语句:
- object.SetDefaultPrinter strPrinterName
-
- 四 WshShell对象的方法
- 1. AppActivate
- 说明:激活一个应用程序的窗口
- 语句:AppActivate title
- 参数:
- title:必须。字符串代表要激活的应用程序窗口标题栏的标题。也可以用Shell功能返回的任务ID,代替激活应用程序。
- ps:AppActivate语句可以把工作对象转移至命名的应用程序或窗口,但不 影响其是最大化还是最小化。当用户采用某种操作改变工作对象,或者关闭这个窗口时,工作对象才会从激活的应用程序窗口转移。使用Shell功能来启动一个应用程序并设置其窗口样式。
-
- 2.CreateShortcut
- 说明:创建一个快捷方式或URL快捷方式的引用对象。
- 语句:object.CreateShortcut(strPathname)
- strPathname:被创建快捷方式的路径和名称。
- ps:一个WINDOWS的快捷方式必须是以".lnk"为扩张名。如果快捷方式以".url"结尾,即创建了一个URL快捷方式。
-
- 3.ExpandEnvironmentStrings
- 说明:在运行过程中扩张环境变量,并将结果的字符串返回。
- 语句:object.ExpandEnvironmentStrings(strString)
- 参数:strString:要扩展的环境变量名
- ps:变量必须用"%"加在前后。环境变量必须是不敏感的。
- 例子:扩展了WINDIR环境变量,并且在消息框中显示。
- set WshShell=CreateObject("WScript.Shell")
- WScript.Echo "WinDir is "&WshShell.ExpandEnvironmentStrings("%WinDir%")
-
- 4.LogEvent
- 说明:把事件记录到Windows NT事件日志或WSH.log文件。
- 语句:object.LogEvent(intType,strMessage[,strTarget])
- intType:数值代表了事件的类型。
- strMessageog条目的正文。
- strTarget:可选参数。只可选Windows NT。即事件记录在哪个系统。默认是本地系统。
-
- 5.Popup
- 说明:显示一个popup对话窗口。其中包含了字符串文本的信息。
- 语句:
- intButton=object.Popup(steText,[natSecondsToWait],[strTitle],[natType])
- strText:在popup窗口显示的文本。
- NatSecondsToWait:可选。在关闭popup窗口前等待的时间,秒。
- StrTitle:可选参数。在popup窗口显示的标题。
- NatType:可选参数。在popup窗口显示的按钮和图标类型。
- 例子:
- Set WshShell=WScript.CreateObject("WScript.Shell")
- WshShell.popup "Welcome to bbs.bathome.net",2,"novaa"
-
- 对于VBS对注册表操作的请看专门的一篇文章
- 6.RegDelete
- 说明:用strName参数从注册表删除键值。
- strName:要删除的键或数值。
- ps:如果strName以(\)结尾,这样删除的是键值而不是数值,StrName参数必须以如下键名开头。
- HKCU KEY_CURRENT_USER
- HKLM HKEY_LOCAL_MACHINE
- HKCR HKEY_CLASS_ROOT
- HKEY_USERS
- HKEY_CURRENT)CONFIG
-
- 7.RegRead
- 语句bject.RegRead(strName)
- 说明:用strName参数返回注册表的键值或数值。
-
- 8.RegWrite
- 说明:用strName参数设置注册表的键值或数值。
- 语句:object.RegWrite strName,anyValue[,strType]
- strName:要写入的键值或数值。
- AnyValue:要写入的键或注册表数值的对应值。
- strType:可选。值的数据类型将留在注册表。
-
- 9.Run
- 说明:创建一个新的过程。执行strCommand
- 语句:
- object.Run(strCommand,[intWindowStyle],[bWaitOnReturn])
- StrCommand:在StrCommand参数内的环境变量会自动扩展。
- IntWindowStyle:可选。
- bWaitOnReturn:可选。如果bWaitReturn没有指定,或是为否,会在程序运行结束前就返回脚本。
- 如果bWaitOnReturn的值为是,用Run的方法应用程序会返回任何的错误代码。
- 如果bWaitReturn没有指定,或是为否,用Run的方法应用程序会返回一个0的错误代码。
-
- 10.Sendkeys
- 语句:SendKeys String
- String:必须的参数。字符串指定要传送的键值。
- 注意:每个键都由一个或多个字母代表。要指定一个单独额键盘字符,就使用字符本身。如:"A" "ABC"
- "+","^","%","~"和圆括号(),对于SendKeys有特殊意义。要指定这些字符,要用大括号{}把他们括起来。如{+}.
- 如果要指定象ENTER键或TAB键这种不显示,而且又有其他功能的键,请使用下面的
- Backspace {BACKSPACE},{BS},or {BKSP}
- Break {BREAK}
- Caps Lock {CAPSLOCK}
- Del or Delete {DELETE} or {DEL}
- 要指定一些结合Shift ,Ctrl,Alt一起按的键,请使用下面的代码。
- Shift +
- Ctrl ^
- Alt %
- 如:shift和E ,C三个一起按 用 "+(EC)" 指定按住Shift和E,再加C,用"+EC"
- 指定重复键,使用{键 数字}的形式。必须在键和数字之间加空格键。如:{LEFT 42}代表按方向左键42次。{H 10}表示按H 10 次
-
- 五:WshShortcut对象的方法
- 1.Save
- 把快捷方式保存到指定位置
- 语句:object.Save
复制代码
作者: zyz0304360 时间: 2008-2-20 20:12
多谢楼主
很棒的帖子
收藏了
作者: tornodo 时间: 2008-3-15 21:12
严重支持楼主。仔细研究下。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |