Logo

¡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.
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.