Shell.Application执行命令的五种方法小结 |
当初老马写这个版本时,我测试过简繁两个2003版本的,当是是好用的 。我猜测很可能与2003打了ms06014补丁有关 。kyo在冰点论坛提出了解决方法,我今天下午研究了一下这个组件,发现它有5种方法可以执行命令 。以下是vbs版本(asp版不提供了,如何利用asp版本在2003的webshell中运行命令,自己解决吧:-): 复制代码 代码如下: Set objShellApp = CreateObject("Shell.Application") Set objFolder = objShellApp.NameSpace("c:\") objFolder.Items().item("demo.exe").invokeverb 方法1 objFolder.Items().item("demo.exe").InvokeVerbEx方法2 objShellApp.Open("C:\demo.exe") 方法3 objShellApp.ShellExecute "demo.exe","","c:\","","1" 方法4,可以加参数和设置参数值 方法5 Set objFolderItem = objShellApp.NameSpace("C:\").Items().item("demo.exe") Set objFIVs = objFolderItem.Verbs() For i=0 To objFIVs.Count - 1 MsgBox objFIVs.Item(i) Set objFIV = objFIVs.Item(i) If objFIV.Name = "打开(&O)" Then 右键菜单中在中文系统是"打开(&O)",英文自己改 objFIV.DoIt Exit For End IF Next |