const strCmdArg = " /c " ' " /c " 是执行完cmd后关闭窗口,注意前后带空格的。 " /k " 是保持执行结果,调试的时候用。 set ws =createobject("wscript.shell") set objArgs = wscript.Arguments for i=0 to objArgs.Count-1 'msgbox objArgs(i) next 'wscript 对象参考文档:http://www.netbox.cn/document/html/wsobjwscript.htm '如果启动时没有带参数,就判断为非管理员权限启动,则以管理员方式启动后关闭当前进程。带的参数名叫 argAA if objArgs.Count=0 then '启动截图软件。截图软件不要以管理员权限启动,如果以管理员权限启动,当用普通用户登录的时候 '右键点击图片进行编辑的时候没办法自动打开picpick.exe 'ws.run """D:\Program Files\PicPick_5.1.1_PortableSoft\PicPickPortable\picpick.exe""" ws.run """D:\Program Files\picpick_6_portable\picpick.exe""" '当直接双击的时候是没有带参数的,以管理员再启动一次 CreateObject("Shell.Application").ShellExecute WScript.FullName, Chr(34) & WScript.ScriptFullName & Chr(34) & " argAA", "", "runas", 1 WScript.Quit elseif objArgs(0)<>"argAA" then '可能有会有将其他文件拖动到 vbs 上 CreateObject("Shell.Application").ShellExecute WScript.FullName, Chr(34) & WScript.ScriptFullName & Chr(34) & " argAA", "", "runas", 1 WScript.Quit end if |