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