最近在项目中偶然用到了使用VBS调用“shell.application”中的ShellExecute方法。在百度搜索一圈后发现很难找到关于这个方法的详细的中文教程。最后是在微软的官方文档中才找到了这个指令的详细英文教程。现将该方法的详细描述用中文分享给各位码友。
首先,VBS中调用该方法可以用Set Shell=CreateObject("Shell.Application")来创建对象。该方法的命令格式如下:
Shell.ShellExecute "执行命令或文件的名称", "执行命令的附加参数", "执行命令或文件所在目录的绝对路径", "操作", 窗口显示类型
具体解释如下:
1.执行命令或文件的名称:就是您要执行的命令或处理文件的名称。例如您想打开一个cmd指令窗口,那么这个名称就是cmd.exe。
2.执行命令的附加参数:如果您执行的命令是需要参数的,则可以将这些参数填写在这里。
3.执行命令或文件所在目录的绝对路径:填写您要执行的命令文件或要处理的文件的存储路径。如果是空则默认为当前路径。
4.操作:本参数有六项设定值可供选择。
5.窗口显示类型:这个参数用于设定在执行第一个参数中指定的程序时,以何种方式打开程序窗口。这是一个用数字表示不同设定值的参数。具体内容如下:
应用实例:本例子是使用ShellExecute方法调用“C:\\Windows\\System32\\cmd.exe”控制台程序来添加用户。用户名称为username,密码为password。以管理员账户运行。
Set Shell=CreateObject(\”Shell.Application\”)
Shell.ShellExecute \”cmd.exe\”, \”/k net user username password /add\”, \”C:\\Windows\\System32\\\”, \”runas\”, 1
Shell.ShellExecute 方法官方资料
对指定文件执行指定操作。
语法JScript:
JavaScript
iRetVal = Shell.ShellExecute(
sFile,
[ vArguments ],
[ vDirectory ],
[ vOperation ],
[ vShow ]
);
VBScript:
iRetVal = Shell.ShellExecute( _
sFile, _
[ ByVal vArguments ], _
[ ByVal vDirectory ], _
[ ByVal vOperation ], _
[ ByVal vShow ] _
)
VB:
Shell.ShellExecute( _
ByVal sFile As BSTR, _
[ ByVal vArguments As Variant ], _
[ ByVal vDirectory As Variant ], _
[ ByVal vOperation As Variant ], _
[ ByVal vShow As Variant ] _
) As Integer
参数
sFile[in]
类型:BSTR
一个字符串,其中包含ShellExecute将对其执行vOperation指定的操作的文件的名称。
vArguments[in, 可选]
类型:Variant
包含操作的参数值的字符串。
vDirectory[in, 可选]
类型:Variant
包含sFile指定的文件的目录的完全限定路径。 如果未指定此参数,则使用当前工作目录。
vOperation[in, 可选]
类型:Variant
要执行的操作。 此值设置为文件支持的谓词字符串之一。 有关谓词的讨论,请参阅“备注”部分。 如果未指定此参数,则执行默认操作。
vShow[in, 可选]
类型:Variant
最初应如何显示应用程序窗口的建议。 应用程序可以忽略此建议。 此参数的取值可为下列值之一: 如果未指定此参数,则应用程序使用其默认值。
注解
此方法等效于启动与文件快捷菜单关联的命令之一。 每个命令由谓词字符串表示。 支持的谓词集因文件而异。 最常支持的谓词是“open”,这通常是默认谓词。 其他谓词可能仅支持某些类型的文件。 有关 Shell 谓词的进一步讨论,请参阅启动应用程序或扩展快捷菜单。
此方法目前在 Microsoft Visual Basic中不可用。
示例
以下示例演示如何使用ShellExecute打开记事本。 JScript和 VBScript 的使用情况显示。
JScript:
function ShellExecuteJS()
{
var objShell = new ActiveXObject(\”Shell.Application\”);
objShell.ShellExecute(\”notepad.exe\”, \”\”, \”\”, \”open\”, 1);
}
VBScript:
Function ShellExecuteVB()
Dim objShell
Set objShell = CreateObject(\”Shell.Application\”)
Call objShell.ShellExecute(\”notepad.exe\”, \”\”, \”\”, \”open\”, 1)
End Function
要求
想了解更多的朋友可以到微软官方查看
https://learn.microsoft.com/zh-cn/windows/win32/shell/shell-shellexecute
到此这篇关于VBS Shell.Application中ShellExecute的使用方法详解的文章就介绍到这了,更多相关vbs Shell.ShellExecute 方法内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!