2011-05-11 19 views
6

Böyle bir programda e-posta gönderiyorum:Kabuk Komutu Çalışmayı Bitirmek İçin Programatik Olarak Nasıl Beklenir?

Call Shell(smtpPath, emailInput...) 

Bu işlev harika, iki kez fonksiyonu çağırırsam, işlev ilk kez çalışır, kabuk komutunu çağırır, sonra işlev tekrar çalışır ve çağırır Kabuk komutu tekrar, ancak ilk kabuk komutu tamamlanmadı, bu nedenle bir hata var çünkü ikinci kabuk komutu aynı smtp dosyasını ilk olarak kullanmaya çalışıyor (hala kullanımda).

Kabuk komutu çalışmayı bitirene kadar işlevi nasıl bekleyebilirim?

Ek: Veya dosyanın kullanılmakta olduğunu görebileceğim bir yol var mı, eğer öyleyse, uyu, sonra tekrar dene?

cevap

5

Sen WScript.Shell kullanabilir ve bu run bir yöntem vardır:

Set objShell = CreateObject("WScript.Shell") 
result = objShell.Run(smtpPath & " " & emailInput, 0, true) 
İlgili konular