Ray*_*ega 10 windows vb6 command-line
如何正确使用VB6我可以像命令行一样调用任何Windows shell命令?
例如,一些简单的事情:
echo foo
Run Code Online (Sandbox Code Playgroud)
我一直使用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)
Run Code Online (Sandbox Code Playgroud)
您获得与普通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.
Run Code Online (Sandbox Code Playgroud)
所有的组合
Shell Environ("COMSPEC") & " /c echo foo", vbNormalFocus
Run Code Online (Sandbox Code Playgroud)
如果您希望支持像 windows 9x 或 me 这样的早期系统,您应该考虑扩展 COMSPEC 环境变量。
您还可以使用
pid = Shell(Environ("COMSPEC") & " /c echo foo", vbNormalFocus)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
73049 次 |
最近记录: |