2012-01-04 2 views
11

следующий код является частью моего VB6 программыКак запустить команду оболочки без открытия окна CMD в VB6

я использовал команду оболочки в VB для того, чтобы выполнить pscp.exe с флагами и аргументами

моя проблема, когда VB запустить линию:

 Shell strCommand, 1 

его также открыть окно CMD в течение 2-4 секунд (CMD всплывающее окно)

мой вопрос - возможно ли это т o запустить «Shell strCommand, 1» так, чтобы окно CMD не открывалось?

Я имею в виду - я не хочу видеть любое всплывающее окно CMD при запуске VB приложению

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 
+0

Не указывая явно, чтобы оно отображалось :) – Deanna

ответ

20

Вы можете использовать скрытый фокус:

Shell strCommand, vbHide 

или

Shell strCommand, 0 

Для другие типы фокуса выглядят Here или http://msdn.microsoft.com/en-us/library/aa242087%28v=VS.60%29.aspx (спасибо Мар kJ для ссылки)

+1

Отличный ответ thx –

+2

+1 Аргументы также описаны в руководстве http://msdn.microsoft.com/en-us/library/aa242087 (v = VS.60) .aspx – MarkJ

Смежные вопросы