当前位置:  开发笔记 > 编程语言 > 正文

如何使用VB6调用Windows shell命令?

如何解决《如何使用VB6调用Windowsshell命令?》经验,为你挑选了3个好方法。

如何正确使用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方法.



1> dub..:

这是你如何做到的:

Shell "cmd echo foo", vbNormalFocus 



2> JeffK..:

我一直使用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方法.



3> Ed Guiness..:

Shell和ShellExecute?

http://msdn.microsoft.com/en-us/library/aa242087.aspx

Dim RetVal
RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)   ' Run Calculator.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有