Hola, tengo el siguiente problema, necesito reprodcir un video con la siguiente linea: MMControl1.filename = "f:\c.mpg" ¿Es para reproducirlo en un CD pero NO en todos los PC la letra de la unidad es "F:\" que puedo hacer?. Desde ya muchas gracias.
Puedes hacer uso de las apis de windows para obtener una unidad de cd-rom te anexo el código para ver si lo puedes implementar si tienes alguna duda, preguntame: 'obtiene el volumen del cd Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long Private Const DRIVE_REMOVABLE = 2 Private Const DRIVE_FIXED = 3 Private Const DRIVE_REMOTE = 4 Private Const DRIVE_CDROM = 5 Private Const DRIVE_RAMDISK = 6 Public Function unidad() As String Dim r&, allDrives$, JustOneDrive$, pos%, DriveType& Dim CDfound As Integer allDrives$ = Space$(64) r& = GetLogicalDriveStrings(Len(allDrives$), allDrives$) allDrives$ = Left$(allDrives$, r&) Do pos% = InStr(allDrives$, Chr$(0)) If pos% Then JustOneDrive$ = Left$(allDrives$, pos%) allDrives$ = Mid$(allDrives$, pos% + 1, Len(allDrives$)) DriveType& = GetDriveType(JustOneDrive$) If DriveType& = DRIVE_CDROM Then CDfound% = True Exit Do End If End If Loop Until allDrives$ = "" Or DriveType& = DRIVE_CDROM If CDfound% Then unidad = Mid(UCase$(JustOneDrive$), 1, 2) Else MsgBox "Su sistema no posee CD-ROM o unidad no encontrada." unidad = "" End If End Function Unicamente declara una variable de tipo string que va a recibir el valor encontrado por la función ejm: a = unidad Suerte
Que pasa si el pc posee más de una unidad... como se cual es la que se esta utilizando con mi cd.
Lo que puedes hacer es modificar la función para que en vez de salir cuando encuentre el primer dispositivo cd_rom te concatene todas las unidades de cd_rom que tiene la pc, y revisar unidad por unidad hasta que encuentres el archivo que quieres manipular: por ejemplo si la función te regresa: d:, e: Seria cuestión de ponerle la ruta a la unidad: d:\c.mpg y checar si esta el archivo, si no esta buscar en e:\c.mpg y si no esta significa que no han insertado el cd de tu aplicación.