返回列表 发帖

[原创] 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:对于23方法。在信息的条目中有本地名和远程名,第一个条目是驱动器盘符,第二个条目是网络映射信息。这种模式用于网络映射信息集。
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.SaveCOPY
ㄗs:A good programming is 99% sweat and 1% coffee!--①個亾

============ >   hi.baidu.com/novaa   <============

严重支持楼主。仔细研究下。

TOP

多谢楼主
很棒的帖子
收藏了
路 是自己选的

TOP

返回列表