Stream、WshShell、WshUrlShortcut对象及Shell.Application的参数与使用
Stream、WshShell、WshUrlShortcut对象及Shell.Application的参数与使用
发布时间:2016-12-28 来源:查字典编辑
摘要:Kafree收集整理来源:论坛转载无法确定出处,如有版权问题请与我们联系1.Stream对象组件:"Adodb.Stream"有下列方法:C...

Kafree收集整理

来源:论坛转载无法确定出处,如有版权问题请与我们联系

1.Stream对象

组件:"Adodb.Stream"

有下列方法:

Cancel方法

使用方法如下

Object.Cancel

说明:取消执行挂起的异步Execute或Open方法的调用。

Close方法

使用方法如下

Object.Close

:关闭对像

CopyTo方法

使用方法如下

Object.CopyTo(destStream,[CharNumber])

说明:将对像的数据复制,destStream指向要复制的对像,CharNumber为可选参数,指要复制的字节数,不选为全部复制。

Flush方法

使用方法如下

Object.Flush

说明:

LoadFromFile方法

使用方法如下

Object.LoadFromFile(FileName)

说明:将FileName指定的文件装入对像中,参数FileName为指定的用户名。

Open方法

使用方法如下

Object.Open(Source,[Mode],[Options],[UserName],[Password])

说明:打开对像,

参数说明:Sourece对像源,可不指定

Mode指定打开模式,可不指定,可选参数如下:

adModeRead=1

adModeReadWrite=3

adModeRecursive=4194304

adModeShareDenyNone=16

adModeShareDenyRead=4

adModeShareDenyWrite=8

adModeShareExclusive=12

adModeUnknown=0

adModeWrite=2

Options指定打开的选项,可不指定,可选参数如下:

adOpenStreamAsync=1

adOpenStreamFromRecord=4

adOpenStreamUnspecified=-1

UserName指定用户名,可不指定。

Password指定用户名的密码

Read方法

使用方法如下:

Object.Read(Numbytes)

说明:读取指定长度的二进制内容。

参数说明:Numbytes指定的要读取的找度,不指定则读取全部。

ReadText方法

使用方法如下:

Object.ReadText(NumChars)

说明:读取指定长度的文本

参数说明:NumChars指定的要读取的找度,不指定则读取全部。

SaveToFile方法

使用方法如下:

Object.SaveToFile(FileName,[Options])

说明:将对像的内容写到FileName指定的文件中

参数说明:FileName指定的文件

Options存取的选项,可不指定,可选参数如下:

adSaveCreateNotExist=1

adSaveCreateOverWrite=2

SetEOS方法

使用方法如下:

Object.setEOS()

说明:

SkipLine方法

使用方法如下:

Object.SkipLine()

说明:

Write方法

使用方法如下:

Object.Write(Buffer)

说明:将指定的数据装入对像中。

参数说明:Buffer为指定的要写入的内容。

WriteText方法

使用方法如下:

Object.Write(Data,[Options])

说明:将指定的文本数据装入对像中。

参数说明:Data为指定的要写入的内容。

Options写入的选项,可不指定,可选参数如下:

adWriteChar=0

adWriteLine=1

有下列属性:

Charset

EOS返回对像内数据是否为空。

LineSeparator指定换行格式,可选参数有

adCR=13

adCRLF=-1

adLF=10

Mode指定或返加模式。

Position指定或返回对像内数据的当前指针。(新OPEN的:0)

Size返回对像内数据的大小。

State返加对像状态是否打开。

Type指定或返回的数据类型,可选参数为:

adTypeBinary=1

adTypeText=2

2.WshShell和WshUrlShortcut对象

WshShell对象

ProgIDWscript.Shell

文件名WSHom.Ocx

CLSIDF935DC22-1CF0-11d0-ADB9-00C04FD58A0B

IIDF935DC21-1CF0-11d0-ADB9-00C04FD58A0B

下表说明和WshShell对象有关的属性。

属性说明

Environment返回WshEnvironment集合对象。

SpecialFolders使用WshSpecialFolders对象提供对Windowsshell文件夹的访问,如桌面文件夹,开始菜单文件夹和个人文档文件夹。

下表说明和WshShell对象有关的方法。

方法说明

CreateShortcut创建并返回WshShortcut对象。

ExpandEnvironmentStrings扩展PROCESS环境变量并返回结果字符串。

Popup显示包含指定消息的消息窗口。

RegDelete从注册表中删除指定的键或值。

RegRead从注册表中返回指定的键或值。

RegWrite在注册表中设置指定的键或值。

Run创建新的进程,该进程用指定的窗口样式执行指定的命令。

WshShell.Environment

Environment属性返回WshEnvironment对象。

语法

WshShell.Environment([strType])=objWshEnvironment

注释

若strType指定了环境变量所处的位置,可能值为"System"、"User"、"Volatile"和"Process"。若未提供strType,则该方法在WindowsNT中检索系统环境变量或在Windows95中检索进程环境变量。

对于Windows95,strType参数仅支持"Process"。

下列变量是由Windows操作系统提供的。脚本也可获取由其他应用程序设置的环境变量。

名称说明

NUMBER_OF_PROCESSORS计算机上运行的处理器数目。

PROCESSOR_ARCHITECTURE用户工作站使用的处理器类型。

PROCESSOR_IDENTIFIER用户工作站的处理器ID。

PROCESSOR_LEVEL用户工作站的处理器级。

PROCESSOR_REVISION用户工作站的处理器版本。

OS用户工作站所用的操作系统。

COMSPEC用于运行“命令提示”窗口的命令(通常为cmd.exe)。

HOMEDRIVE本地主驱动器(通常为C驱动器)。

HOMEPATH用户的默认路径(在WindowsNT上通常为usersdefault)。

PATH路径环境变量。

PATHEXT可执行文件的扩展名(通常为.com、.exe、.bat或.cmd)。

PROMPT命令提示符(通常为$P$G)。

SYSTEMDRIVE系统所在的本地驱动器(例如,c:)。

SYSTEMROOT系统目录(例如,c:winnt)。和WINDIR相同。

WINDIR系统目录(例如c:winnt)。和SYSTEMROOT相同。

TEMP存储临时文件的目录(例如,c:temp)。用户可更改。

TMP存储临时文件的目录(例如,c:temp)。用户可更改。

示例

'RetrievetheNUMBER_OF_PROCESSORSsystemenvironmentvariable

SetWshShell=Wscript.CreateObject("Wscript.Shell")

SetWshSysEnv=WshShell.Environment("SYSTEM")

Wscript.EchoWshSysEnv("NUMBER_OF_PROCESSORS")

请参阅

WshEnvironment对象

WshEnvironment对象

WshEnvironment对象未直接给出,可用WshShell.Environment属性来访问。

ProgIDN/A

文件名WSHom.Ocx

CLSID

IID

下表描述与WshEnvironment对象关联的属性。

属性说明

Item获取或设置指定的环境变量值。

Count枚举项的数目。

length枚举项的数目(JScript)。

下表描述与WshEnvironment对象关联的方法。

方法说明

Remove删除指定的环境变量。

WshShell.SpecialFolders

SpecialFolders属性提供WshSpecialFolders对象以便访问Windows的shell文件夹,例如桌面文件夹、开始菜单文件夹和个人文档文件夹。

语法

WshShell.SpecialFolders=objWshSpecialFolders

示例

'Thiscodefragmentshowshowtoaccessthedesktopfolder

SetWshShell=Wscript.CreateObject("Wscript.Shell")

MsgBox"Yourdesktopis"&WshShell.SpecialFolders("Desktop")

请参阅

WshSpecialFolders对象

WshSpecialFolders对象

该对象未直接给出。要得到WshSpecialFolders对象,请使用WshShell.SpecialFolders属性。

ProgIDN/A

文件名WSHom.Ocx

CLSID

IID

下表描述与WshSpecialFolders对象关联的属性。

属性描述

Item指定文件夹的完整路径(默认)。

Count枚举项的数目。

length枚举项的数目(JScript)。

WshSpecialFolders.Item

Item属性返回由strFolderName指定的文件夹的完整路径。它是默认属性。

语法

WshShell.SpecialFolders.Item("strFolderName")=strFolderPath

WshShell.SpecialFolders("strFolderName")=strFolderPath

注释

若请求的文件夹(strFolderName)不可用,则WshShell.SpecialFolders("strFolderName")返回NULL。例如,Windows95没有AllUsersDesktop文件夹,如果strFolderName=AllUsersDesktop,则返回NULL。

Windows95和WindowsNT4.0操作系统提供下列指定文件夹:

AllUsersDesktop

AllUsersStartMenu

AllUsersPrograms

AllUsersStartup

Desktop

Favorites

Fonts

MyDocuments

NetHood

PrintHood

Programs

Recent

SendTo

StartMenu

Startup

Templates

示例

'ThisfragmentreturnsthefullpathfortheWindowsDesktopfolder

SetWshShell=Wscript.CreateObject("Wscript.Shell")

StrMyDesktop=WshShell.SpecialFolders("Desktop")

'Listallspecialfolders

ForEachstrFolderInWshShell.SpecialFolders

MsgBoxstrFolder

Next

请参阅

WshShell.SpecialFolders属性

WshShell.CreateShortcut

CreateShortcut方法创建WshShortcut对象并将其返回。如果快捷方式标题以.url结尾,就会创建WshURLShortcut对象。

语法

WshShell.CreateShortcut(strPathname)=objShortcut

示例

'Thiscodefragmentcreatesashortcut

'tothecurrentlyexecutingscript

SetWshShell=Wscript.CreateObject("Wscript.Shell")

SetoShellLink=WshShell.CreateShortcut("CurrentScript.lnk")

oShellLink.TargetPath=Wscript.ScriptFullName

oShellLink.Save

SetoUrlLink=WshShell.CreateShortcut("MicrosoftWebSite.URL")

oUrlLink.TargetPath="http://www.microsoft.com"

oUrlLink.Save

请参阅

WshShortcut对象、WshUrlShortcut对象

WshShortcut对象

该对象未直接给出。要获得WshShortcut对象,请使用WshShell.CreateShortcut方法。

ProgIDN/A

文件名WSHom.Ocx

CLSIDF935DC28-1CF0-11d0-ADB9-00C04FD58A0B

IIDF935DC27-1CF0-11d0-ADB9-00C04FD58A0B

下表说明和WshShortcut对象有关的属性。

属性说明

Arguments快捷方式对象的参数。

Description快捷方式对象的说明。

Hotkey快捷方式对象的热键。

IconLocation快捷方式对象的图标位置。

TargetPath快捷方式对象的目标路径。

WindowStyle快捷方式对象的窗口样式。

WorkingDirectory快捷方式对象的工作目录。

下表说明与WshShortcut对象有关的方法。

方法说明

Save将快捷方式存储到指定的文件系统中。

WshShortcut.Arguments

Arguments属性提供快捷方式对象的参数。

语法

WshShortcut.Arguments=strArguments

WshShortcut.Description

Description属性提供快捷方式对象的说明。

语法

WshShortcut.Description=strDescription

WshShortcut.Hotkey

HotKey属性提供快捷方式对象的热键。热键是启动或切换程序的键盘快捷方式。

语法

WshShortcut.HotKey=strHotKey

注释

strHotKey的BNF语法如下:

Hotkey::=modifier*keyname

modifier::="ALT+"|"CTRL+"|"SHIFT+"|"EXT+"

keyname::="A".."Z"|

"0".."9"|

"Back"|"Tab"|"Clear"|"Return"|

"Escape"|"Space"|"Prior"|...

所有键的名称都可以在WINUSER.H中找到。热键不区分大小写。

热键只能激活位于Windows桌面或Windows“开始”菜单的快捷方式。

Windows资源管理器不接受ESC、ENTER、TAB、SPACE、PRINTSCREEN或BACKSPACE,即使WshShortcut.Hotkey遵循Win32API支持它们。因此,建议在快捷方式中不要用这些键。

示例

SetWshShell=Wscript.CreateObject("Wscript.WshShell")

strDesktop=WshShell.SpecialFolders("Desktop")

SetoMyShortcut=WshShell.CreateShortcut(strDesktop&"a_key.lnk")

OMyShortcut.TargetPath="%windir%notepad.exe"

oMyShortCut.Hotkey="ALT+CTRL+F"

oMyShortCut.Save

Wscript.EchooMyShortCut.HotKey="Alt+Ctrl+F"

请参阅

WshSpecialFolders对象

WshShortcut.IconLocation

IconLocation属性提供快捷方式对象的图标位置。图标位置的格式应为"Path,index"。

语法

WshShortcut.IconLocation=strIconLocation

WshShortcut.TargetPath

TargetPath属性提供快捷方式对象的目标路径。

语法

WshShort

WshUrlShortcut对象

该对象未直接给出。要获取WshUrlShortcut对象,可使用WshShell.CreateShortcut方法。

ProgIDN/A

文件名WSHom.Ocx

CLSID

IID

下表说明了和WshUrlShortcut对象有关的属性。

属性说明

FullNameURL快捷方式对象的完整路径。

TargetPathURL快捷方式对象的目标路径。

下表说明了和WshUrlShortcut对象有关的方法。

方法说明

Save将快捷方式保存到指定的文件系统中。

WshUrlShortcut.FullName

FullName属性提供快捷方式对象的完整路径。

语法

WshUrlShortcut.FullName=strFullName

WshUrlShortcut.TargetPath

TargetPath属性提供快捷方式对象的目标路径。

语法

WshUrlShortcut.TargetPath=strTargetPath

WshUrlShortcut.Save

Save方法保存一个快捷方式,该快捷方式指向FullName属性指定的位置。

语法

WshUrlShortcut.Save

WshShell.ExpandEnvironmentStrings

ExpandEnvironmentStrings方法在strString中扩展PROCESS环境变量并返回结果字符串。变量被'%'字符括起。

环境变量不区分大小写。

语法

WshShell.ExpandEnvironmentStrings(strString)=strExpandedString

示例

MsgBox"Promptis"&WshShell.ExpandEnviromentStrings("%PROMPT%")

WshShell.Popup

Popup方法显示一个弹出式消息框窗口,消息框中包含的消息由strText指定。该消息框的窗口标题由strTitle指定。若strTitle省略,则窗口标题为WindowsScriptingHost。

语法

WshShell.Popup(strText,[natSecondsToWait],[strTitle],[natType])=intButton

注释

若提供natSecondsToWait且其值大于零,则消息框在natSecondsToWait秒后关闭。

natType的含义与其在Win32?MessageBox函数中相同。下表显示natType中的值及含义。下表中的值可以组合。

按钮类型

值说明

0显示“确定”按钮

1显示“确定”和“取消”按钮

2显示“终止”、“重试”和“忽略”按钮

3显示“是”、“否”和“取消”按钮

4显示“是”和“否”按钮

5显示“重试”和“取消”按钮

图标类型

值说明

16显示停止标记图标

32显示问号图标

48显示感叹号图标

64显示信息标记图标

以上两个表并不涵盖natType的所有值。完整的列表请参阅Win32文档。

返回值intButton指示用户所单击的按扭编号。若用户在natSecondsToWait秒之前不单击按扭,则intButton设置为-1。

值说明

1“确定”按扭

2“取消”按扭

3“终止”按扭

4“重试”按扭

5“忽略”按扭

6“是”按扭

7“否”按扭

示例

SetWshShell=Wscript.CreateObject("Wscript.Shell")

WshShell.Popup"Wheredoyouwanttogotoday?"

请参阅

Wscript.Echo方法

Wscript.Echo

Echo方法在窗口(Wscript.exe中)或“命令提示符”窗口(Cscript.exe中)显示参数。

参数用空格分隔。在Cscript.exe中,该方法在显示最后一个参数之后输出一对回车/换行(CRLF)。

语法

Wscript.Echo[anyArg...]

示例

Wscript.Echo

Wscript.Echo1,2,3

Wscript.Echo"WindowsScriptingHostiscool."

WshShell.RegDelete

RegDelete从注册表中删除名为strName的键或值。

语法

WshShell.RegDeletestrName

参数

strName

如果strName以反斜杠()结束,则该方法删除键而不是值。

strName参数必须以下列之一的根键名开始:

短根键名长根键名

HKCUHKEY_CURRENT_USER

HKLMHKEY_LOCAL_MACHINE

HKCRHKEY_CLASSES_ROOT

HKEY_USERS

HKEY_CURRENT_CONFIG

示例

SetWshShell=Wscript.CreateObject("Wscript.Shell")

WshShell.RegDelete"HKCUScriptEngineValue"'Deletevalue"Value"

WshShell.RegDelete"HKCUScriptEngineKey"'Deletekey"Key"

请参阅

WshShell.RegRead方法、WshShell.RegWrite方法

WshShell.RegRead

RegRead方法返回名为strName的注册表键或值。

语法

WshShell.RegRead(strName)=strValue

参数

strName

如果strName以反斜杠()结束,则该方法返回键,而不是值。

strName参数必须以下列根键名开始。

ShortLong

HKCUHKEY_CURRENT_USER

HKLMHKEY_LOCAL_MACHINE

HKCRHKEY_CLASSES_ROOT

HKEY_USERS

HKEY_CURRENT_CONFIG

注释

RegRead方法仅支持REG_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY和REG_MULTI_SZ数据类型。若注册表有其他数据类型,RegRead返回DISP_E_TYPEMISMATCH。

示例

SetWshShell=Wscript.CreateObject("Wscript.Shell")

WshShell.RegRead("HKCUScriptEngineVal")'Readfromvalue"Val"

WshShell.RegRead("HKCUScriptEngineKey")'Readfromkey"Key"

请参阅

WshShell.RegDelete方法、WshShell.RegWrite方法

WshShell.RegWrite

RegWrite方法设置名为strName的注册表键或值。

语法

WshShell.RegWritestrName,anyValue,[strType]

参数

strName

若strName以一个反斜杠()结束,则该方法设置键,而不是值。

strName参数必须以下列根键名开头。

ShortLong

HKCUHKEY_CURRENT_USER

HKLMHKEY_LOCAL_MACHINE

HKCRHKEY_CLASSES_ROOT

HKEY_USERS

HKEY_CURRENT_CONFIG

anyValue

当strType为REG_SZ或REG_EXPAND_SZ时,RegWrite方法自动将anyValue转换为字符串。若strType为REG_DWORD,则anyValue被转换为整数。若strType为REG_BINARY,则anyValue必须是一个整数。

strType

RegWrite方法支持strType为REG_SZ、REG_EXPAND_SZ、REG_DWORD和REG_BINARY。若其他的数据类型被作为strType传递,RegWrite返回E_INVALIDARG。

示例

SetWshShell=Wscript.CreateObject("Wscript.Shell")

WshShell.RegWrite"HKCUScriptEngineValue","Somestringvalue"

WshShell.RegWrite"HKCUScriptEngineKey",1"REG_DWORD"

请参阅

WshShell.RegDelete方法、WshShell.RegWrite方法

WshShell.Run

Run方法创建一个新的进程,该进程以intWindowStyle窗口样式执行strCommand。

语法

WshShell.Run(strCommand,[intWindowStyle],[blnWaitOnReturn])

参数

strCommand

在strCommand参数内部的环境变量被自动扩展。

intWindowStyle

这是为新进程在STARTUPINFO结构内设置的wShowWindow元素的值。其意义与ShowWindow中的nCmdShow参数相同,可取以下值之一。名称值含义

SW_HIDE

0隐藏窗口并激活另一窗口。

SW_MINIMIZE

6最小化指定窗口并激活按Z序排序的下一个顶层窗口。

SW_RESTORE

9激活并显示窗口。若窗口是最小化或最大化,则恢复到原来的大小和位置。在还原应用程序的最小化窗口时,应指定该标志。

SW_SHOW

5以当前大小和位置激活并显示窗口。

SW_SHOWMAXIMIZED

3激活窗口并以最大化显示该窗口。

SW_SHOWMINIMIZED

2激活窗口并以最小化显示该窗口。

SW_SHOWMINNOACTIVE

7最小化显示窗口。活动窗口保持活动。

SW_SHOWNA

8以当前状态显示窗口。活动窗口保持活动。

SW_SHOWNOACTIVATE

4按窗口最近的大小和位置显示。活动窗口保持活动。

SW_SHOWNORMAL

1激活并显示一个窗口。若窗口是最小化或最大化,则恢复到其原来的大小和位置。

blnWaitOnReturn

如果未指定blnWaitOnReturn或其值为FALSE,则该方法立即返回到脚本继续执行而不等待进程结束。

若blnWaitOnReturn设为TRUE,则Run方法返回由应用程序返回的任何错误代码。如果未指定blnWaitOnReturn或其值为FALSE,则Run返回错误代码0(zero)。

示例

'ThisfragmentlaunchesNotepadwiththecurrentexecutedscript

SetWshShell=Wscript.CreateObject("Wscript.Shell")

WshShell.Run("notepad"&Wscript.ScriptFullName)

WshShell.Run("%windir%notepad"&Wscript.ScriptFullName)

'Thisfragmentreturnstheerrorcodefromtheexecutedapplication

Return=WshShell.Run("notepad"&Wscript.ScriptFullName,1,TRUE)

3.关于Shell.Application的使用

3.1、创建Shell对象

varShell=newActiveXObject("Shell.Application");

3.2、使用Shell属性及方法

Shell.Application

Shell.Parent

Shell.CascadeWindows()

Shell.TileHorizontally()

Shell.TileVertically()

Shell.ControlPanelItem(sDir)/*比如:sysdm.cpl*/

Shell.EjectPC()

Shell.Explore(vDir)

Shell.Open(vDir)

Shell.FileRun()

Shell.FindComputer()

Shell.FindFiles()

Shell.Help()

Shell.MinimizeAll()

Shell.UndoMinimizeALL()

Shell.RefreshMenu()

Shell.SetTime()

Shell.TrayProperties()

Shell.ShutdownWindows()

Shell.Suspend()

oWindows=Shell.Windows()/*返回ShellWindows对象*/

fFolder=Shell.NameSpace(vDir)/*返回所打开的vDir的Folder对象*/

oFolder=Shell.BrowseForFolder(Hwnd,sTitle,iOptions[,vRootFolder])/*选择文件夹对话框*/

/*示例:

functionBrowseFolder()

{

varMessage="清选择文件夹";

varShell=newActiveXObject("Shell.Application");

varFolder=Shell.BrowseForFolder(0,Message,0x0040,0x11);

if(Folder!=null)

{

Folder=Folder.items();//返回FolderItems对象

Folder=Folder.item();//返回Folderitem对象

Folder=Folder.Path;//返回路径

if(Folder.charAt(varFolder.length-1)!=""){

Folder=varFolder+"";

}

returnFolder;

}

}

*/

/*示例:

varFolder=Shell.NameSpace("C:");//返回Folder对象

*/

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新vbs学习
热门vbs学习
脚本专栏子分类