如何在不打开VB6中的CMD窗口的情况下运行shell命令

时间:2012-01-04 23:12:53

标签: windows vba vb6 batch-file

以下代码是我的VB6程序的一部分

我在VB中使用了shell命令,以便使用标志和参数

执行pscp.exe

我的问题是,当VB运行时:

      Shell strCommand, 1  

它也会打开CMD窗口2-4秒(CMD弹出窗口)

我的问题 - 是否可以以不打开CMD窗口的方式运行“Shell strCommand,1”?

我的意思是 - 当我运行VB应用程序时,我不想看到任何CMD弹出窗口

  Const cstrSftp As String = "D:\pscp.exe"
  Dim strCommand As String
  Dim pUser As String
  Dim pPass As String
  Dim pHost As String
  Dim pFile As String
  Dim pRemotePath As String
  pUser = "root"
  pPass = "pass123"
  pHost = "110.218.201.15"
  pFile = """D:\scan_ip.ksh""" 
  pRemotePath = "/var/tmp"

  strCommand = cstrSftp & " -sftp -l " & pUser & " -pw " & pPass & " " & pHost & ":" & pRemotePath & " " & pFile


  Shell strCommand, 1  

1 个答案:

答案 0 :(得分:20)

您可以使用隐藏焦点:

Shell strCommand, vbHide

Shell strCommand, 0

对于其他焦点类型,请查看Herehttp://msdn.microsoft.com/en-us/library/aa242087%28v=VS.60%29.aspx(感谢MarkJ的链接)