VBSCRIPT 语法简单 强大 但是功能上明显不足 需要第三方的控制 e.g. COM 组件来扩展其功能. VBSEDIT 安装完之后就可以在安装目录下发现 免费提供的 COM 组件 vbs toolkit.
下载 VBSEDIT 工具
32 位 DLL: vbsedit32 60 VBSEdit 提供
64 位 DLL: vbsedit64 61 VBSEdit 提供
注册组件
注册组件需要管理员权限. 可以运行下面命令分别注册 32, 64 位的VBSEDIT 工具箱.
regsvr32 vbsedit32.dll
regsvr32 vbsedit64.dll
注销的时候则需要 加 /u 参数
regsvr32 /u vbsedit32.dll
regsvr32 /u vbsedit64.dll
提供了一些方便的功能扩展 比如剪贴板.
Set toolkit = CreateObject("VbsEdit.Toolkit")toolkit.PutClipboardText "Hello World" WScript.Echo toolkit.GetClipboardText()
CLIPBOARD OPERATIONS
GetClipboardText method
1、获取剪切板中的文本内容
Set toolkit = CreateObject("VbsEdit.Toolkit")WScript.Echo toolkit.GetClipboardText()
PutClipboardText method
2、将指定内容设置到剪切板中
Set toolkit = CreateObject("VbsEdit.Toolkit")toolkit.PutClipboardText "Hello World"
运行后就将剪切板的数据设置为 Hello World
DIALOG BOXES
OpenFileDialog method
Prompt the user to open a file
toolkit.OpenFileDialog ([initialFolder,[filters,[multiselect,[title]]]])
'Opens a single fileSet toolkit = CreateObject("VbsEdit.Toolkit")files=toolkit.OpenFileDialog("c:/scripts/","Text Files (*.txt)|*.txt",False,"Open a text file")If UBound(files)>=0 Then WScript.Echo files(0)Else Wscript.QuitEnd If 'Opens multiple filesSet toolkit = CreateObject("VbsEdit.Toolkit")files=toolkit.OpenFileDialog("c:/scripts/","Text Files (*.txt)|*.txt",True,"Open a text file")If UBound(files)>=0 Then For Each filepath In files WScript.Echo filepath NextElse Wscript.QuitEnd If
上面的代码就是打开只可以输入一个文件的对话框,第二段就是可以选择多个文件的对话框
SaveFileDialog method
Prompt the user to save a file
toolkit.SaveFileDialog ([initialFolder,[initialFilename,[filters,[title]]]])
Set toolkit = CreateObject("VbsEdit.Toolkit")filepath = toolkit.SaveFileDialog("c:/scripts","test.txt","Text Files (*.txt)|*.txt") If Not(IsNull(filepath)) Then Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.CreateTextFile(filepath,True) objFile.WriteLine Date objFile.CloseElse Wscript.QuitEnd If
上面的代码就是另存为 文本文件对话框
SelectFolder method
Prompt the user to select a folder
toolkit.SelectFolder ([initialDir,[title]])
Set toolkit = CreateObject("VbsEdit.Toolkit")myfolder=toolkit.SelectFolder("c:/scripts/","Please select a folder") If Not(IsNull(myfolder)) Then WScript.Echo myfolderElse Wscript.QuitEnd If
上面的就是浏览文件夹对话框
ENUMERATING WINDOWS
TopLevelWindows method
Enumerates top level windows
Set toolkit = CreateObject("VbsEdit.Toolkit")For each window in toolkit.TopLevelWindows() WScript.Echo window.WindowTitle WScript.Echo window.ProcessIdNext
枚举顶级窗口
Window object
ClassName
Retrieves the name of the class to which the specified window belongs.
WindowTitle
Retrieves the title of the specified window's title bar or the text of the control if the specified window is a control.
DlgCtrlID
Retrieves the identifier of the specified control.
Height
Retrieves the height of the specified window.
Width
Retrieves the width of the specified window.
X
Retrieves the X coordinate of the upper-left corner of the specified window.
Y
Retrieves the Y coordinate of the upper-left corner of the specified window.
IsVisible
Determines the visibility state of the specified window.
ProcessId
Retrieves the identifier of the process that created the specified window.
Click method
Sends a mouse click event to the specified window.
window.Click ([offsetX ,[offsetY]])
If offsetX and offsetY are not specified, the event is sent into the middle of the window.
SendText method
Sends text to the specified window.
window.SendText text
ChildWindows method
Enumerates the child windows that belong to the specified parent window.