1.Stream对象
lgQ?Adodb.Stream"
有下列方法:
Cancel Ҏ(gu)
使用Ҏ(gu)如下
Object.Cancel
说明Q取消执行挂L异步 Execute ?Open Ҏ(gu)的调用?
Close Ҏ(gu)
使用Ҏ(gu)如下
Object.Close
Q关闭对?
CopyTo Ҏ(gu)
使用Ҏ(gu)如下
Object.CopyTo(destStream,[CharNumber])
说明Q将对像的数据复ӞdestStream指向要复制的对像QCharNumber为可选参敎ͼ指要复制的字节数Q不选ؓ全部复制?
Flush Ҏ(gu)
使用Ҏ(gu)如下
Object.Flush
说明Q?
LoadFromFile Ҏ(gu)
使用Ҏ(gu)如下
Object.LoadFromFile(FileName)
说明:FileName指定的文件装入对像中,参数FileName为指定的用户名?
Open Ҏ(gu)
使用Ҏ(gu)如下
Object.Open(Source,[Mode],[Options],[UserName],[Password])
说明Q打开对像Q?
参数说明QSourece 对像源,可不指定
Mode 指定打开模式Q可不指定,可选参数如下:
adModeRead =1
adModeReadWrite =3
adModeRecursive =4194304
adModeShareDenyNone =16
adModeShareDenyRead =4
adModeShareDenyWrite =8
adModeShareExclusive =12
adModeUnknown =0
adModeWrite =2
Options 指定打开的选项Q可不指定,可选参数如下:
adOpenStreamAsync =1
adOpenStreamFromRecord =4
adOpenStreamUnspecified=-1
UserName 指定用户名,可不指定?
Password 指定用户名的密码
Read Ҏ(gu)
使用Ҏ(gu)如下Q?
Object.Read(Numbytes)
说明Q读取指定长度的二进制内宏V?
参数说明QNumbytes指定的要d的找度,不指定则d全部?
ReadText Ҏ(gu)
使用Ҏ(gu)如下Q?
Object.ReadText(NumChars)
说明Q读取指定长度的文本
参数说明QNumChars指定的要d的找度,不指定则d全部?
SaveToFile Ҏ(gu)
使用Ҏ(gu)如下Q?
Object.SaveToFile(FileName,[Options])
说明Q将对像的内容写到FileName指定的文件中
参数说明QFileName指定的文?
Options 存取的选项Q可不指定,可选参数如下:
adSaveCreateNotExist =1
adSaveCreateOverWrite =2
SetEOS Ҏ(gu)
使用Ҏ(gu)如下Q?
Object.setEOS()
说明Q?
SkipLine Ҏ(gu)
使用Ҏ(gu)如下Q?
Object.SkipLine()
说明Q?
Write Ҏ(gu)
使用Ҏ(gu)如下Q?
Object.Write(Buffer)
说明Q将指定的数据装入对像中?
参数说明QBuffer 为指定的要写入的内容?
WriteText Ҏ(gu)
使用Ҏ(gu)如下Q?
Object.Write(Data,[Options])
说明Q将指定的文本数据装入对像中?
参数说明QData 为指定的要写入的内容?
Options 写入的选项Q可不指定,可选参数如下:
adWriteChar =0
adWriteLine =1
有下列属性:
Charset
EOS q回对像内数据是否ؓI?
LineSeparator 指定换行格式Q可选参数有
adCR =13
adCRLF =-1
adLF =10
Mode 指定或返加模式?
Position 指定或返回对像内数据的当前指针?新OPEN的:0)
Size q回对像内数据的大小?
State q加对像状态是否打开?
Type 指定或返回的数据cdQ可选参CؓQ?
adTypeBinary =1
adTypeText =2
2.WshShell和WshUrlShortcut 对象
WshShell 对象
ProgID Wscript.Shell
文g?WSHom.Ocx
CLSID F935DC22-1CF0-11d0-ADB9-00C04FD58A0B
IID F935DC21-1CF0-11d0-ADB9-00C04FD58A0B
下表说明?WshShell 对象有关的属性?/P>
属?说明
Environment q回 WshEnvironment 集合对象?
SpecialFolders 使用 WshSpecialFolders 对象提供?Windows shell 文g夹的讉KQ如桌面文g夹,开始菜单文件夹和个人文档文件夹?
下表说明?WshShell 对象有关的方法?/P>
Ҏ(gu) 说明
CreateShortcut 创徏q返?WshShortcut 对象?
ExpandEnvironmentStrings 扩展 PROCESS 环境变量q返回结果字W串?
Popup 昄包含指定消息的消息窗口?
RegDelete 从注册表中删除指定的键或倹{?
RegRead 从注册表中返回指定的键或倹{?
RegWrite 在注册表中设|指定的键或倹{?
Run 创徏新的q程Q该q程用指定的H口样式执行指定的命令?
WshShell.Environment
Environment 属性返?WshEnvironment 对象?
语法
WshShell.Environment ( [strType]) = objWshEnvironment
注释
?strType 指定了环境变量所处的位置Q可能gؓ "System"?User"?Volatile" ?"Process"。若未提?strTypeQ则该方法在 Windows NT 中检索系l环境变量或?Windows 95 中检索进E环境变量?/P>
对于 Windows 95QstrType 参数仅支?"Process"?/P>
下列变量是由 Windows 操作pȝ提供的。脚本也可获取由其他应用E序讄的环境变量?/P>
名称 说明
NUMBER_OF_PROCESSORS 计算Zq行的处理器数目?
PROCESSOR_ARCHITECTURE 用户工作站用的处理器类型?
PROCESSOR_IDENTIFIER 用户工作站的处理?ID?
PROCESSOR_LEVEL 用户工作站的处理器?
PROCESSOR_REVISION 用户工作站的处理器版本?
OS 用户工作站所用的操作pȝ?
COMSPEC 用于q行“命令提C”窗口的命oQ通常?cmd.exeQ?
HOMEDRIVE 本地主驱动器Q通常?C 驱动器)?
HOMEPATH 用户的默认\径(?Windows NT 上通常?\users\defaultQ?
PATH 路径环境变量?
PATHEXT 可执行文件的扩展名(通常?.com?.exe?bat ?.cmdQ?
PROMPT 命o提示W(通常?$P$GQ?
SYSTEMDRIVE pȝ所在的本地驱动器(例如Qc:\Q?
SYSTEMROOT pȝ目录Q例如,c:\winntQ。和 WINDIR 相同?
WINDIR pȝ目录Q例?c:\winntQ。和 SYSTEMROOT 相同?
TEMP 存储临时文g的目录(例如Qc:\tempQ。用户可更改?
TMP 存储临时文g的目录(例如Qc:\tempQ。用户可更改?
CZ
' Retrieve the NUMBER_OF_PROCESSORS system environment variable
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set WshSysEnv = WshShell.Environment("SYSTEM")
Wscript.Echo WshSysEnv("NUMBER_OF_PROCESSORS")
请参?BR>WshEnvironment 对象
WshEnvironment 对象
WshEnvironment 对象未直接给出,可用 WshShell.Environment 属性来讉K?/P>
ProgID N/A
文g?WSHom.Ocx
CLSID
IID
下表描述?WshEnvironment 对象兌的属性?/P>
属?说明
Item 获取或设|指定的环境变量倹{?
Count 枚D的数目?
length 枚D的数目 (JScript)?
下表描述?WshEnvironment 对象兌的方法?
Ҏ(gu) 说明
Remove 删除指定的环境变量?
WshShell.SpecialFolders
SpecialFolders 属性提?WshSpecialFolders 对象以便讉K Windows ?shell 文g夹,例如桌面文g夏V开始菜单文件夹和个人文档文件夹?/P>
语法
WshShell.SpecialFolders = objWshSpecialFolders
CZ
' This code fragment shows how to access the desktop folder
Set WshShell = Wscript.CreateObject("Wscript.Shell")
MsgBox "Your desktop is " & WshShell.SpecialFolders("Desktop")
请参?BR>WshSpecialFolders 对象
WshSpecialFolders 对象
该对象未直接l出。要得到 WshSpecialFolders 对象Q请使用 WshShell.SpecialFolders 属性?/P>
ProgID N/A
文g?WSHom.Ocx
CLSID
IID
下表描述?WshSpecialFolders 对象兌的属性?
属?描述
Item 指定文g夹的完整路径Q默认)?
Count 枚D的数目?
length 枚D的数目 (JScript) ?
WshSpecialFolders.Item
Item 属性返回由 strFolderName 指定的文件夹的完整\径。它是默认属性?/P>
语法
WshShell.SpecialFolders.Item("strFolderName") = strFolderPath
WshShell.SpecialFolders("strFolderName") = strFolderPath
注释
若请求的文g?(strFolderName) 不可用,?WshShell.SpecialFolders("strFolderName") q回 NULL。例如,Windows 95 没有 AllUsersDesktop 文g夹,如果 strFolderName = AllUsersDesktopQ则q回 NULL?/P>
Windows 95 ?Windows NT 4.0 操作pȝ提供下列指定文g夹:
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
CZ
' This fragment returns the full path for the Windows Desktop folder
Set WshShell = Wscript.CreateObject("Wscript.Shell")
StrMyDesktop = WshShell.SpecialFolders("Desktop")
' List all special folders
For Each strFolder In WshShell.SpecialFolders
MsgBox strFolder
Next
请参?BR>WshShell.SpecialFolders 属?
WshShell.CreateShortcut
CreateShortcut Ҏ(gu)创徏 WshShortcut 对象q将其返回。如果快h式标题以 .url l尾Q就会创?WshURLShortcut 对象?/P>
语法
WshShell.CreateShortcut(strPathname) = objShortcut
CZ
' This code fragment creates a shortcut
' to the currently executing script
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set oShellLink = WshShell.CreateShortcut("Current Script.lnk")
oShellLink.TargetPath = Wscript.ScriptFullName
oShellLink.Save
Set oUrlLink = WshShell.CreateShortcut("Microsoft Web Site.URL")
oUrlLink.TargetPath = "http://www.microsoft.com"
oUrlLink.Save
请参?BR>WshShortcut 对象、WshUrlShortcut 对象
WshShortcut 对象
该对象未直接l出。要获得 WshShortcut 对象Q请使用 WshShell.CreateShortcut Ҏ(gu)?/P>
ProgID N/A
文g?WSHom.Ocx
CLSID F935DC28-1CF0-11d0-ADB9-00C04FD58A0B
IID F935DC27-1CF0-11d0-ADB9-00C04FD58A0B
下表说明?WshShortcut 对象有关的属性?/P>
属?说明
Arguments 快捷方式对象的参数?
Description 快捷方式对象的说明?
Hotkey 快捷方式对象的热键?
IconLocation 快捷方式对象的图标位|?
TargetPath 快捷方式对象的目标\径?
WindowStyle 快捷方式对象的窗口样式?
WorkingDirectory 快捷方式对象的工作目录?
下表说明?WshShortcut 对象有关的方法?/P>
Ҏ(gu) 说明
Save 快h式存储到指定的文件系l中?
WshShortcut.Arguments
Arguments 属性提供快h式对象的参数?/P>
语法
WshShortcut.Arguments = strArguments
WshShortcut.Description
Description 属性提供快h式对象的说明?/P>
语法
WshShortcut.Description = strDescription
WshShortcut.Hotkey
HotKey 属性提供快h式对象的热键。热键是启动或切换程序的键盘快捷方式?/P>
语法
WshShortcut.HotKey = strHotKey
注释
strHotKey 的BNF语法如下Q?/P>
Hotkey ::= modifier* keyname
modifier ::= "ALT+" | "CTRL+" | "SHIFT+" | "EXT+"
keyname ::= "A" .. "Z" |
"0".. "9" |
"Back" | "Tab" | "Clear" | "Return" |
"Escape" | "Space" | "Prior" | ...
所有键的名U都可以?WINUSER.H 中找到。热键不区分大小写?/P>
热键只能ȀzM?Windows 桌面?Windows“开始”菜单的快捷方式?/P>
Windows 资源理器不接受 ESC、ENTER、TAB、SPACE、PRINT SCREEN ?BACKSPACEQ即?WshShortcut.Hotkey 遵@ Win32 API 支持它们。因此,在快h式中不要用这些键?/P>
CZ
Set WshShell = Wscript.CreateObject("Wscript.WshShell")
strDesktop = WshShell.SpecialFolders("Desktop")
Set oMyShortcut = WshShell.CreateShortcut(strDesktop & "\a_key.lnk")
OMyShortcut.TargetPath = "%windir%\notepad.exe"
oMyShortCut.Hotkey = "ALT+CTRL+F"
oMyShortCut.Save
Wscript.Echo oMyShortCut.HotKey = "Alt+Ctrl+F"
请参?BR>WshSpecialFolders 对象
WshShortcut.IconLocation
IconLocation 属性提供快h式对象的图标位置。图标位|的格式应ؓ "Path,index"?/P>
语法
WshShortcut.IconLocation = strIconLocation
WshShortcut.TargetPath
TargetPath 属性提供快h式对象的目标路径?/P>
语法
WshShort
WshUrlShortcut 对象
该对象未直接l出。要获取 WshUrlShortcut 对象Q可使用 WshShell.CreateShortcut Ҏ(gu)?/P>
ProgID N/A
文g?WSHom.Ocx
CLSID
IID
下表说明了和 WshUrlShortcut 对象有关的属性?/P>
属?说明
FullName URL 快捷方式对象的完整\径?
TargetPath URL 快捷方式对象的目标\径?
下表说明了和 WshUrlShortcut 对象有关的方法?/P>
Ҏ(gu) 说明
Save 快h式保存到指定的文件系l中?
WshUrlShortcut.FullName
FullName 属性提供快h式对象的完整路径?/P>
语法
WshUrlShortcut.FullName = strFullName
WshUrlShortcut.TargetPath
TargetPath 属性提供快h式对象的目标路径?/P>
语法
WshUrlShortcut.TargetPath = strTargetPath
WshUrlShortcut.Save
Save Ҏ(gu)保存一个快h式,该快h式指?FullName 属性指定的位置?/P>
语法
WshUrlShortcut.Save
WshShell.ExpandEnvironmentStrings
ExpandEnvironmentStrings Ҏ(gu)?strString 中扩?PROCESS 环境变量q返回结果字W串。变量被 '%' 字符括v?/P>
环境变量不区分大写?/P>
语法
WshShell.ExpandEnvironmentStrings(strString) = strExpandedString
CZ
MsgBox "Prompt is " & WshShell.ExpandEnviromentStrings("%PROMPT%")
WshShell.Popup
Popup Ҏ(gu)昄一个弹出式消息框窗口,消息框中包含的消息由 strText 指定。该消息框的H口标题?strTitle 指定。若 strTitle 省略Q则H口标题?Windows Scripting Host?/P>
语法
WshShell.Popup(strText, [natSecondsToWait], [strTitle], [natType]) = intButton
注释
若提?natSecondsToWait 且其值大于零Q则消息框在 natSecondsToWait U后关闭?/P>
natType 的含义与其在 Win32? MessageBox 函数中相同。下表显C?natType 中的值及含义。下表中的值可以组合?/P>
按钮cd
?说明
0 昄“确定”按?
1 昄“确定”和“取消”按?
2 昄“终止”、“重试”和“忽略”按?
3 昄“是”、“否”和“取消”按?
4 昄“是”和“否”按?
5 昄“重试”和“取消”按?
图标cd
?说明
16 昄停止标记图标
32 昄问号图标
48 昄感叹号图?
64 昄信息标记图标
以上两个表ƈ不涵?natType 的所有倹{完整的列表请参?Win32 文档?/P>
q回?intButton 指示用户所单击的按扭编受若用户?natSecondsToWait U之前不单击按扭Q则 intButton 讄?-1 ?/P>
?说明
1 “确定”按?
2 “取消”按?
3 “终止”按?
4 “重试”按?
5 “忽略”按?
6 “是”按?
7 “否”按?
CZ
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Popup "Where do you want to go today?"
请参?BR>Wscript.Echo Ҏ(gu)
Wscript.Echo
Echo Ҏ(gu)在窗口(Wscript.exe 中)或“命令提C符”窗口(Cscript.exe 中)昄参数?/P>
参数用空格分隔。在 Cscript.exe 中,该方法在昄最后一个参C后输Z对回?换行QCR LFQ?/P>
语法
Wscript.Echo [anyArg...]
CZ
Wscript.Echo
Wscript.Echo 1, 2, 3
Wscript.Echo "Windows Scripting Host is cool."
WshShell.RegDelete
RegDelete 从注册表中删除名?strName 的键或倹{?
语法
WshShell.RegDelete strName
参数
strName
如果 strName 以反斜杠 (\) l束Q则该方法删除键而不是倹{?
strName 参数必须以下列之一的根键名开始:
短根键名 长根键名
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
CZ
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegDelete "HKCU\ScriptEngine\Value" ' Delete value "Value"
WshShell.RegDelete "HKCU\ScriptEngine\Key\" ' Delete key "Key"
请参?BR>WshShell.RegRead Ҏ(gu)、WshShell.RegWrite Ҏ(gu)
WshShell.RegRead
RegRead Ҏ(gu)q回名ؓ strName 的注册表键或倹{?
语法
WshShell.RegRead(strName) = strValue
参数
strName
如果 strName 以反斜杠 (\) l束Q则该方法返回键Q而不是倹{?BR>strName 参数必须以下列根键名开始?/P>
Short Long
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
注释
RegRead Ҏ(gu)仅支?REG_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY ?REG_MULTI_SZ 数据cd。若注册表有其他数据cdQRegRead q回 DISP_E_TYPEMISMATCH?/P>
CZ
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegRead("HKCU\ScriptEngine\Val") ' Read from value "Val"
WshShell.RegRead("HKCU\ScriptEngine\Key\") ' Read from key "Key"
请参?BR>WshShell.RegDelete Ҏ(gu)、WshShell.RegWrite Ҏ(gu)
WshShell.RegWrite
RegWrite Ҏ(gu)讄名ؓ strName 的注册表键或倹{?
语法
WshShell.RegWrite strName, anyValue, [strType]
参数
strName
?strName 以一个反斜杠 (\) l束Q则该方法设|键Q而不是倹{?BR>strName 参数必须以下列根键名开头?/P>
Short Long
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
anyValue
?strType ?REG_SZ ?REG_EXPAND_SZ ӞRegWrite Ҏ(gu)自动?anyValue 转换为字W串。若 strType ?REG_DWORDQ则 anyValue 被{换ؓ整数。若 strType ?REG_BINARYQ则 anyValue 必须是一个整数?/P>
strType
RegWrite Ҏ(gu)支持 strType ?REG_SZ、REG_EXPAND_SZ、REG_DWORD ?REG_BINARY。若其他的数据类型被作ؓ strType 传递,RegWrite q回 E_INVALIDARG?
CZ
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegWrite "HKCU\ScriptEngine\Value", "Some string value"
WshShell.RegWrite "HKCU\ScriptEngine\Key\", 1 "REG_DWORD"
请参?BR>WshShell.RegDelete Ҏ(gu)、WshShell.RegWriteҎ(gu)
WshShell.Run
Run Ҏ(gu)创徏一个新的进E,该进E以 intWindowStyle H口样式执行 strCommand?/P>
语法
WshShell.Run (strCommand, [intWindowStyle], [blnWaitOnReturn])
参数
strCommand
?strCommand 参数内部的环境变量被自动扩展?/P>
intWindowStyle
q是为新q程?STARTUPINFO l构内设|的 wShowWindow 元素的倹{其意义?ShowWindow 中的 nCmdShow 参数相同Q可取以下g一。名U??含义
SW_HIDE
0 隐藏H口q激zd一H口?
SW_MINIMIZE
6 最化指定H口q激zL Z 序排序的下一个顶层窗口?
SW_RESTORE
9 Ȁzdƈ昄H口。若H口是最化或最大化Q则恢复到原来的大小和位|。在q原应用E序的最化H口Ӟ应指定该标志?
SW_SHOW
5 以当前大和位置Ȁzdƈ昄H口?
SW_SHOWMAXIMIZED
3 Ȁzȝ口ƈ以最大化昄该窗口?
SW_SHOWMINIMIZED
2 Ȁzȝ口ƈ以最化昄该窗口?
SW_SHOWMINNOACTIVE
7 最化昄H口。活动窗口保持活动?
SW_SHOWNA
8 以当前状态显C窗口。活动窗口保持活动?
SW_SHOWNOACTIVATE
4 按窗口最q的大小和位|显C。活动窗口保持活动?
SW_SHOWNORMAL
1 Ȁzdƈ昄一个窗口。若H口是最化或最大化Q则恢复到其原来的大和位置?
blnWaitOnReturn
如果未指?blnWaitOnReturn 或其gؓ FALSEQ则该方法立卌回到脚本l箋执行而不{待q程l束?BR>?blnWaitOnReturn 设ؓ TRUEQ则 Run Ҏ(gu)q回由应用程序返回的M错误代码。如果未指定 blnWaitOnReturn 或其gؓ FALSEQ则 Run q回错误代码 0QzeroQ?/P>
CZ
' This fragment launches Notepad with the current executed script
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepad " & Wscript.ScriptFullName)
WshShell.Run ("%windir%\notepad" & Wscript.ScriptFullName)
' This fragment returns the error code from the executed application
Return = WshShell.Run("notepad " & Wscript.ScriptFullName, 1, TRUE)
3. 关于Shell.Application的?/STRONG>
3.1、创?Shell 对象
var Shell = new ActiveXObject("Shell.Application");
3.2、?Shell 属性及Ҏ(gu)
Shell.Application
Shell.Parent
Shell.CascadeWindows()
Shell.TileHorizontally()
Shell.TileVertically()
Shell.ControlPanelItem(sDir) /* 比如Qsysdm.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() /* q回ShellWindows对象 */
fFolder = Shell.NameSpace(vDir) /* q回所打开的vDir的Folder对象 */
oFolder = Shell.BrowseForFolder(Hwnd, sTitle, iOptions [, vRootFolder]) /* 选择文g夹对话框 */
/*CZQ?BR>function BrowseFolder()
{
var Message = "清选择文g?;
var Shell = new ActiveXObject( "Shell.Application" );
var Folder = Shell.BrowseForFolder(0,Message,0x0040,0x11);
if(Folder != null)
{
Folder = Folder.items(); // q回 FolderItems 对象
Folder = Folder.item(); // q回 Folderitem 对象
Folder = Folder.Path; // q回路径
if(Folder.charAt(varFolder.length-1) != "\\"){
Folder = varFolder + "\\";
}
return Folder;
}
}
*/
/*CZQ?BR>var Folder = Shell.NameSpace("C:\\"); // q回 Folder对象
*/

]]>