VBSCRIPT 语法简单 强大 但是功能上明显不足 需要第三方的控制 e.g. COM 组件来扩展其功能. VBSEDIT 安装完之后就可以在安装目录下发现 免费提供的 COM 组件 vbs toolkit.
注册组件
注册组件需要管理员权限. 可以运行下面命令分别注册 32, 64 位的VBSEDIT 工具箱.
regsvr32 vbsedit32.dll
regsvr32 vbsedit64.dll
注销的时候则需要 加 /u 参数
regsvr32 /u vbsedit32.dll
regsvr32 /u vbsedit64.dll
提供了一些方便的功能扩展 比如剪贴板.
1
2
3
|
Set toolkit = CreateObject( "VbsEdit.Toolkit" ) toolkit.PutClipboardText "Hello World" WScript.Echo toolkit.GetClipboardText() |
CLIPBOARD OPERATIONS
GetClipboardText method
1、获取剪切板中的文本内容
1
2
|
Set toolkit = CreateObject( "VbsEdit.Toolkit" ) WScript.Echo toolkit.GetClipboardText() |
PutClipboardText method
2、将指定内容设置到剪切板中
1
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]]]])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
'Opens a single file Set 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.Quit End If 'Opens multiple files Set 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 Next Else Wscript.Quit End If |
上面的代码就是打开只可以输入一个文件的对话框,第二段就是可以选择多个文件的对话框
SaveFileDialog method
Prompt the user to save a file
toolkit.SaveFileDialog ([initialFolder,[initialFilename,[filters,[title]]]])
1
2
3
4
5
6
7
8
9
10
11
|
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.Close Else Wscript.Quit End If |
上面的代码就是另存为 文本文件对话框
SelectFolder method
Prompt the user to select a folder
toolkit.SelectFolder ([initialDir,[title]])
1
2
3
4
5
6
7
8
|
Set toolkit = CreateObject( "VbsEdit.Toolkit" ) myfolder=toolkit.SelectFolder( "c:\scripts\"," Please select a folder") If Not (IsNull(myfolder)) Then WScript.Echo myfolder Else Wscript.Quit End If |
上面的就是浏览文件夹对话框
ENUMERATING WINDOWS
TopLevelWindows method
Enumerates top level windows
1
2
3
4
5
|
Set toolkit = CreateObject( "VbsEdit.Toolkit" ) For each window in toolkit.TopLevelWindows() WScript.Echo window.WindowTitle WScript.Echo window.ProcessId Next |
枚举顶级窗口
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.
–EOF (The Ultimate Computing & Technology Blog) —
原文链接:https://helloacm.com/vbsedit-toolkit-extends-vbscript/