web-dev-qa-db-ja.com

VB6でCMDウィンドウを開かずにシェルコマンドを実行する方法

次のコードは私のVB6プログラムの一部です

フラグと引数を指定してpscp.exeを実行するために、VB=でシェルコマンドを使用しました

私の問題は、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  
12
user1121951

非表示のフォーカスを使用できます。

Shell strCommand, vbHide

または

Shell strCommand, 0

他のフォーカスタイプについては、 ここ または http://msdn.Microsoft.com/en-us/library/aa242087%28v=VS.60%29.aspx (ありがとうMarkJへのリンク)