Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





comando SHELL en visual basic

Iniciado por sebastianarroyo, 14 de Septiembre de 2006, 04:38:23 PM

« anterior - próximo »

sebastianarroyo

hola, me encuentro con un problema.
Realize una aplicacion que utiliza un programa exe externo.
El problema es que no se porque dejo de funcionar todo lo referido a SHELL en la aplicacion o en alguna nueva que intente hacer.
el error es este:
Llamada a procedimiento o argumento no validos

esta es la llamada:
Shell "c:\Sound Media\sndvol32.exe"

Gracias a quien me pueda ayudar!
Sebastian

vincent

Ni idea de VB, pero en general, el tema de las contrabarras suele dar pol saco...
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

bnl

quiza sea por el espacio de "sound media".
quiza debas poner el nombre de MS-DOS con el tipico ~

No se si sera eso.
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

[EX3]

Los espacios no son problema para la instruccion Shell de VB ni tampoco la del API de Windows al menos en los 6 años que llevo programando en VB 6.0. He probado con esta ruta que tambien tiene espacios y me ha funcionado correctamente:
Shell "D:\Archivos de programa\Microsoft DirectX SDK (August 2006)\Utilities\Bin\x86\DXCapsViewer.exe"

Ademas, el error 5 no es señal de que la ruta no exista, en todo caso saltaria el error 53 (archivo no encontrado) o el error 76 (ruta no valida o no existe). Revisa tu codigo por que dicho error te lo provocara otra instruccion.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Astaroth

Pués si que es raro.

Prueba esto:

Dim InutilVar
InutilVar = Shell("c:\Sound Media\sndvol32.exe",1)

Si no te va, prueba con la API:

Private 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 Long

Dim InutilVar as Long
InutilVar = ShellExecute(0&, "open", "c:\Sound Media\sndvol32.exe", 0&, vbNullString, SW_NORMAL)

Funciona?






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.