Visual Basic - Acortar el nombre d una carpeta...

Life is soft - evento anual de software empresarial
 
Vista:

Acortar el nombre d una carpeta...

Publicado por Netk_vb (28 intervenciones) el 29/07/2002 17:22:46
Buenas, mi problema es el siguient:

Estoy haciendo un programa q le da la opción d elegir al usuario, un archivo de sonido Wav o Midi q tenga en el PC, para este yo reproducirlo mediante el siguiente código:

Private Declare Function mciExecute Lib "winmm.dll" (ByVal _
lpstrCommand As String) As Long

Private Sub Reproducir()
Dim iResult As Integer
iResult = mciExecute("Play " + pathSonido$)
End Sub

Todo va bien excepto cuando la ruta del archivo contiene un directorio con espacios en blanco. Por ejemplo: "C:\Musica y Sonido\Sonido.wav"

En este caso se produce un error y no se emite el sonido. Mi pregunta es como puedo acortar la ruta d sta forma "C:\Musica~1\Sonido.wav" para q así funcione o q solución se puede aportar a este problema??

Muxas gracias d antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Acortar el nombre d una carpeta...

Publicado por <ÔNÎ>H€M (92 intervenciones) el 29/07/2002 17:41:45
Prueba este otro API, parecido al tuyo. a mi me funciona con carpetas con o sin espacio:
Esta declaración lo pones en un módulo
Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA"
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

y este otro codigo lo pone en donde desea hacer sonar el archivo
Call sndPlaySound(Ruta & "\archivo.wav", SND_ASYNC)

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Acortar el nombre d una carpeta...

Publicado por Netk_vb (28 intervenciones) el 30/07/2002 16:00:20
Con tu API soluciono el problema pero entonces me aparece otro, mientras se reproduce el sonido el programa no sigue la ejecución, no pasa a la siguiente linea de código hasta que no acaba de reproducirse.

No obstante gracias, alguien + puede aportar una nueva solución?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar