Saltar al contenido

¿Cómo llamo a un comando de shell de Windows usando VB6?

Solución:

Así es como lo haces:

Shell "cmd echo foo", vbNormalFocus 

Siempre he usado el método Run del objeto wshShell, que está disponible después de hacer referencia al modelo de objetos de host de Windows Script en su proyecto:

Dim shell As wshShell
Dim lngReturnCode As Long
Dim strShellCommand As String

Set shell = New wshShell

strShellCommand = "C:Program FilesMy CompanyMyProg.exe " & _
   "-Ffoption -Ggoption"

lngReturnCode = shell.Run(strShellCommand, vbNormalFocus, vbTrue)

Obtiene la misma funcionalidad que la instrucción Shell normal, pero el parámetro final le permite decidir si ejecutar el programa shell de forma síncrona. La llamada anterior, con vbTrue, es sincrónica. El uso de vbFalse inicia el programa de forma asincrónica.

Y, como se señaló en las respuestas anteriores, debe ejecutar el shell de comandos con el modificador “/ c” para ejecutar comandos internos, como el “echo foo” de su pregunta. Enviaría “cmd / c echo foo” al método Run.

Shell y ShellExecute?

http://msdn.microsoft.com/en-us/library/aa242087.aspx

Dim RetVal
RetVal = Shell("C:WINDOWSCALC.EXE", 1)   ' Run Calculator.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *