最近在项目中偶然用到了使用VBS调用“shell.application”中的ShellExecute方法。在百度搜索一圈后发现很难找到关于这个方法的详细的中文教程。最后是在微软的官方文档中才找到了这个指令的详细英文教程。现将该方法的详细描述用中文分享给各位码友。
首先,VBS中调用该方法可以用Set Shell=CreateObject("Shell.Application")来创建对象。该方法的命令格式如下:
Shell.ShellExecute "执行命令或文件的名称", "执行命令的附加参数", "执行命令或文件所在目录的绝对路径", "操作", 窗口显示类型
具体解释如下:
1.执行命令或文件的名称:就是您要执行的命令或处理文件的名称。例如您想打开一个cmd指令窗口,那么这个名称就是cmd.exe。
2.执行命令的附加参数:如果您执行的命令是需要参数的,则可以将这些参数填写在这里。
3.执行命令或文件所在目录的绝对路径:填写您要执行的命令文件或要处理的文件的存储路径。如果是空则默认为当前路径。
4.操作:本参数有六项设定值可供选择。
设定值 | 中文意思 | 描述 |
edit | 编辑 | 使用对应的编辑器打开第一个参数中输入的文件以对其编辑。 |
find | 查找 | 在第三个参数指定的目录下查找第一个参数指定的文件。 |
open | 打开 | 运行第一个参数中指定的文件。如果该文件不是一个可执行文件,则用相应的可以打开该文件的软件打开它。 |
打印 | 打印第一个参数中指定的文件。 | |
properties | 属性 | 列出第一个参数中指定文件的所有属性。 |
runas | 以管理员账户运行 | 以管理员账户运行第一个参数指定的程序。用户账户管理系统(UAC)会提示用户确认程序以更高的权限运行或要求用户输入管理员账户的凭证。 |
5.窗口显示类型:这个参数用于设定在执行第一个参数中指定的程序时,以何种方式打开程序窗口。这是一个用数字表示不同设定值的参数。具体内容如下:
设定值 | 描述 |
0 | 在隐藏的窗口中打开程序。 |
1 | 以正常尺寸打开窗口。如果该窗口已经最大化或最小化,则系统会自动将窗口回滚到正常状态。 |
2 | 用最小化窗口打开程序。 |
3 | 用最大化窗口打开程序。 |
4 | 以最近使用的窗口尺寸和位置打开程序窗口。激活的窗口仍然激活。 |
5 | 以当前使用的窗口尺寸和位置打开程序窗口。 |
7 | 以最小化打开程序窗口。当前激活的窗口仍然激活。 |
10 | 以打开程序默认的窗口尺寸打开程序窗口。 |
应用实例:本例子是使用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