如何正确使用VB6我可以像命令行一样调用任何Windows shell命令?
例如,一些简单的事情:
echo foo
dub.. 12
这是你如何做到的:
Shell "cmd echo foo", vbNormalFocus
JeffK.. 9
我一直使用wshShell对象的Run方法,该方法在您的项目中引用Windows脚本宿主对象模型后可用:
Dim shell As wshShell Dim lngReturnCode As Long Dim strShellCommand As String Set shell = New wshShell strShellCommand = "C:\Program Files\My Company\MyProg.exe " & _ "-Ffoption -Ggoption" lngReturnCode = shell.Run(strShellCommand, vbNormalFocus, vbTrue)
您获得与普通Shell语句相同的功能,但最终参数允许您决定是否同步运行带壳程序.上面的调用与vbTrue是同步的.使用vbFalse异步启动程序.
并且,如前面的答案中所述,您需要使用"/ c"开关运行命令shell以执行内部命令,例如问题中的"echo foo".您将"cmd/c echo foo"发送到Run方法.
这是你如何做到的:
Shell "cmd echo foo", vbNormalFocus
我一直使用wshShell对象的Run方法,该方法在您的项目中引用Windows脚本宿主对象模型后可用:
Dim shell As wshShell Dim lngReturnCode As Long Dim strShellCommand As String Set shell = New wshShell strShellCommand = "C:\Program Files\My Company\MyProg.exe " & _ "-Ffoption -Ggoption" lngReturnCode = shell.Run(strShellCommand, vbNormalFocus, vbTrue)
您获得与普通Shell语句相同的功能,但最终参数允许您决定是否同步运行带壳程序.上面的调用与vbTrue是同步的.使用vbFalse异步启动程序.
并且,如前面的答案中所述,您需要使用"/ c"开关运行命令shell以执行内部命令,例如问题中的"echo foo".您将"cmd/c echo foo"发送到Run方法.
Shell和ShellExecute?
http://msdn.microsoft.com/en-us/library/aa242087.aspx
Dim RetVal RetVal = Shell("C:\WINDOWS\CALC.EXE", 1) ' Run Calculator.