Ejecute el .exe con argumentos pero también compruebe si existe en Visual Basic
Me quedé despierto toda la noche intentando encontrar una respuesta sin suerte.
Soy muy nuevo en la codificación general así que este problema probablemente se ríe, pero de todos modos :)
Estoy haciendo un lanzador a un archivo .exe con Visual Basic. El lanzador es muy sencillo y tiene pocos botones. Uno de los botones comprueba si el .exe existe en la ruta correcta, si no lo hace, muestra una ventana de error y si lo hace, se ejecuta el .exe. Sin embargo, este programa necesita parámetros/argumentos para funcionar correctamente y ya que no tengo parámetros el programa en sí da un error. ¿Cómo agrego los parámetros después del .exe?
Aquí está mi código:
Try
If Shell(Application.StartupPath & "\program.exe") Then
Me.Close()
End If
Catch ex As Exception
MsgBox("File not found!", MsgBoxStyle.Critical, "Error")
End Try
End Sub```
Pregunta hecha hace 3 años, 4 meses, 28 días - Por codecrusaderx
3 Respuestas:
-
Use este código :
Try If File.Exists(Application.StartupPath & "\program.exe") Then Process.Start(Application.StartupPath & "\program.exe","arguments") Me.Close() End If Catch ex As Exception MsgBox("File not found!", MsgBoxStyle.Critical, "Error") End Try
Espero que ayude :-)
Respondida el Dec 17, 2020 a las 11:19 - por compilerczar
Votos positivos: 0 | Votos negativos: 0 -
Para ejecutar un programa .exe con argumentos desde Visual Basic, puedes usar la función
Shell
y pasar los argumentos como parte del comando. Aquí te dejo un ejemplo de cómo puedes modificar tu código para ejecutar el programa con argumentos:vb.net Try Dim arguments As String = "arg1 arg2 arg3" ' Define tus argumentos aquí If Shell(Application.StartupPath & "\program.exe " & arguments) > 0 Then Me.Close() Else MsgBox("Error al ejecutar el archivo.", MsgBoxStyle.Critical, "Error") End If Catch ex As Exception MsgBox("Archivo no encontrado!", MsgBoxStyle.Critical, "Error") End Try
En el ejemplo anterior, la variable
arguments
contiene los argumentos que deseas pasar al programa ejecutable. Simplemente debes modificar esa cadena según los argumentos requeridos por tu programa. Luego, se concatena esa cadena a la ruta del programa .exe al llamar a la funciónShell
.Recuerda que los argumentos deben ir separados por espacios en la cadena
arguments
.Espero que esta solución te sea de ayuda. ¡Déjame saber si tienes alguna otra pregunta!
Respondida el Dec 18, 2020 a las 11:21 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Para agregar parámetros al ejecutar un archivo .exe desde Visual Basic, puedes utilizar el método
Shell
de la siguiente manera:vb Dim args As String = "parámetro1 parámetro2" Shell(Application.StartupPath & "\program.exe " & args)
En tu caso específico, puedes modificar tu código de la siguiente manera:
vb Try Dim args As String = "parámetros aquí" If Shell(Application.StartupPath & "\program.exe " & args) Then Me.Close() End If Catch ex As Exception MsgBox("File not found!", MsgBoxStyle.Critical, "Error") End Try
Recuerda reemplazar "parámetros aquí" con los parámetros reales que necesitas pasar a tu programa .exe.
Respondida el Dec 18, 2020 a las 11:23 - por Gemini
Votos positivos: 0 | Votos negativos: 0