Programación General > Visual Basic 6.0 e inferiores
Ejecutar Cualquier Cosa
(1/1)
abelsql3000:
Hola amigos
un saludo especial a F.taroni
Bueno aqui de nuevo con esta inquietud he encontrado un codigo en la red que dice que ejecuta de todo, lo he probado y nada que ver me dice "error 53 no encuentra el archivo"
Y este es su publicacion
Con start se pueden ejecutar aplicaciones desde la línea de comando... y si se pueden ejecutar aplicaciones... ¿se podrán ejecutar accesos directos? PUES SI !
Y no sólo accesos directos, sino TODO lo que le eches: archivos de cualquier extensión; el START se encarga de llamar a la aplicación correspondiente... lo que uno se ha complicado haciendo DDE y todo el rollo para esta tarea tan fácil!
¿Cómo se hace?
Dim ret As Long
ret = Shell("start " & sFile)
'Si Quieres que no se muestre la ventana:
ret = Shell("start " & sFile, 6)
sFile será "lo que queramos" ejecutar. CUALQUIER COSA!
Esta es la prueba que NO me salio , lo hice en un boton de comando
Dim ret As Long
Private Sub Command1_Click()
Dim ret As Long
Dim sfile
sfile = "C:\Archivos de programa\MSN Messenger\msnmsgr.exe"
ret = Shell("start" & sfile)
End Sub
Si embargo este SI me Funciono
Private Sub Command1_Click()
Dim ret As Long
Dim sfile
sfile = "C:\Archivos de programa\MSN Messenger\msnmsgr.exe"
ret = Shell(sfile, vbNormalFocus)
End Sub
En que me equivoque en la primera(mensaje color azul)????????????
Gracias atte Abel
F_Tanori:
--- Cita de: "abelsql3000" ---Hola amigos
un saludo especial a F.taroni
--- Fin de la cita ---
F_Tanori :P, Gracias
la verdad es que hace tiempo cuando iniciaba con vb vi un codigo como ese en la pagina de el guille ( lo mejor en aquellos tiempos :P ) pero ese codigo no me funciono nunca
lo mejor es usar la funcion ( API ) ShellExecute hay muchas respuestas en el foro
--- Código: Text ---Option ExplicitPrivate Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPrivate Const SHOWNORMAL = 1 Private Sub Command1_Click() Dim bAutoEjecutable As Boolean Dim Archivo, Ext Archivo = Me.Text1 '"C:\Archivos de programa\MSN Messenger\msnmsgr.exe" Ext = UCase(Right(Archivo, 3)) bAutoEjecutable = InStr(Environ("PATHEXT"), Ext) > 0 If bAutoEjecutable Then Shell Archivo, vbNormalFocus Else ShellExecute Me.hwnd, "Open", Archivo, &O0, &O0, SHOWNORMAL End If End Sub
Saludos
Nebire:
te sobra eso de ..start... ya que le estás indicando que la ruta es: 'startC:\Archivos de programa\MSN Messenger\msnmsgr.exe' es decir has concatenado 2 cadenas, y el intérprete es incapaz de encontrar un archivo ccuya ruta sea ese texto.
Si al menos start fuera una variable cuyo contenido fuera una carpeta y con sfile apuntarías a diferentes archivos en una rutina al caso...
El código sería éste:
--- Código: Text --- Private Sub Command1_Click() Dim ret As DOUBLE 'no [U]Long[/U] Dim sfile as string sfile = "C:\Archivos de programa\MSN Messenger\msnmsgr.exe" ret = Shell(sfile)End Sub
la estrucutura de shell es shell(rutaAlPrograma, estiloVentana) cuando pongas la coma, vb6 ya te propone el modo... de ventana
Navegación
Ir a la versión completa