Shell.Application执行命令的五种方法小结
更新时间:2010年11月28日 19:10:29 作者:
可能很多人发现了在海阳顶端2006+版本中Shell.Application执行命令的方法在win2003中不好用了。
当初老马写这个版本时,我测试过简繁两个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
复制代码 代码如下:
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
相关文章
vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码
vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码...2007-04-04
最新评论