2012-01-04 37 views
11

đoạn mã sau là một phần chương trình từ VB6 của tôiLàm thế nào để chạy một lệnh shell mà không cần mở một cửa sổ CMD trong VB6

tôi đã sử dụng lệnh shell trong VB để thực hiện các pscp.exe với những lá cờ và lập luận

vấn đề của tôi là, khi VB chạy dòng:

 Shell strCommand, 1 

của nó cũng mở cửa sổ CMD cho 2-4 giây (CMD cửa sổ bật lên cửa sổ)

câu hỏi của tôi - là nó có thể t o chạy "Shell strCommand, 1" theo cách mà cửa sổ CMD sẽ không mở?

tôi muốn nói - Tôi không muốn nhìn thấy bất kỳ cửa sổ popup CMD khi tôi chạy ứng dụng 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

Bằng cách không nói rõ ràng để được hiển thị :) – Deanna

Trả lời

20

Bạn có thể sử dụng tập trung ẩn:

Shell strCommand, vbHide 

hoặc

Shell strCommand, 0 

Đối các loại tiêu điểm khác xem Here hoặc http://msdn.microsoft.com/en-us/library/aa242087%28v=VS.60%29.aspx (nhờ vào tháng 3) kJ cho liên kết)

+1

Câu trả lời hay nhất thx –

+2

+1 Các đối số cũng được ghi lại trong sách hướng dẫn http://msdn.microsoft.com/en-us/library/aa242087 (v = VS.60) .aspx – MarkJ

Các vấn đề liên quan