Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

como Diferenciar unidades

Estas en el tema de como Diferenciar unidades en el foro de Visual Basic clásico en Foros del Web. Estoy en un nuevo proyecto en el cual muestra en una lista las unidades que hay en el equipo. el asunto que me las diferencia ...
  #1 (permalink)  
Antiguo 28/11/2013, 12:04
 
Fecha de Ingreso: abril-2013
Mensajes: 7
Antigüedad: 11 años
Puntos: 0
Pregunta como Diferenciar unidades

Estoy en un nuevo proyecto en el cual muestra en una lista las unidades que hay en el equipo. el asunto que me las diferencia entre "Disco Local" y "Extraible".

Pero entre las extraibles están las compacteras, las disqueteras y los pendrives.

Quisiera saber si hay una forma de diferenciar si una unidad extraible es un pendrive o una compactera, ya que las disqueteras siempre son A: o B:
  #2 (permalink)  
Antiguo 28/11/2013, 13:57
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: como Diferenciar unidades

Mira en Recursos VB, en este enlace Tipos de Unidades, ...

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #3 (permalink)  
Antiguo 28/11/2013, 15:08
 
Fecha de Ingreso: abril-2013
Mensajes: 7
Antigüedad: 11 años
Puntos: 0
Respuesta: como Diferenciar unidades

Cita:
Iniciado por erbuson Ver Mensaje
Mira en Recursos VB, en este enlace [URL="http://www.recursosvisualbasic.com.ar/htm/listado-api/api-29.htm"]Tipos de Unidades, ...[/URL]

Saludos


Como dije anteriormente me dice Unidad removible (o extraible) tanto a los CD como a los pen

yo necesito mostrar cuando una unidad es CD y Cuando es Pendrive

Código:
' Función Api GetDriveType para obtener el tipo y clase de unidad
Private Declare Function GetDriveType _
    Lib "kernel32" _
    Alias "GetDriveTypeA" ( _
    ByVal nDrive As String) As Long

Private Sub Command1_Click()
' Llamamos a la función pasandole la unidad que queremos obtener la información
Select Case GetDriveType(Trim(Text1))
        Case 2
            ' Unidad de tipo removible, por ejemplo la unidad A:
            MsgBox "Unidad removible"
        Case 3
            ' Por ejemplo un disco duro
            MsgBox "Unidad Fija"
        Case Is = 4
            ' Una unidad de red
            MsgBox "Unidad remota"
        Case Is = 5
            'Unidad de Cd - Dvd
            MsgBox "Unidad de Cd-Rom"
        Case Is = 6
            ' Para una unidad de dsico Virtual
            MsgBox "Unidad virtual"
        Case Else
            'Cuando es desconocida
            MsgBox "Unidad no reconocida"
    End Select
End Sub

Gracias por la respuesta

Última edición por Angel_Snaker; 28/11/2013 a las 15:10 Razón: Error de escritura
  #4 (permalink)  
Antiguo 28/11/2013, 15:15
 
Fecha de Ingreso: abril-2013
Mensajes: 7
Antigüedad: 11 años
Puntos: 0
Respuesta: como Diferenciar unidades

Te doy un ejemplo de lo que quiero hacer

En una lista poner:

Disco Local C:

Pen Drive D:

Compactera E:
  #5 (permalink)  
Antiguo 28/11/2013, 16:35
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: como Diferenciar unidades

Hola:
Con este código modificado para evitar multiples llamadas en mi equipo con Windows XP me los detecta igual que el sistema.

Código vb:
Ver original
  1. Option Explicit
  2.  
  3. 'Función Api getLogicalDrives para recuperar las unidades
  4. Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
  5.  
  6. ' Función Api GetDriveType para obtener el tipo y clase de unidad
  7. Private Declare Function GetDriveType _
  8.     Lib "kernel32" _
  9.     Alias "GetDriveTypeA" ( _
  10.     ByVal nDrive As String) As Long
  11.  
  12. Private Function TipoUnidad(Unidad As String) As String
  13. ' Llamamos a la función pasandole la unidad que queremos obtener la información
  14. Select Case GetDriveType(Trim(Unidad & ":\"))
  15.         Case 2
  16.             ' Unidad de tipo removible, por ejemplo la unidad A:
  17.            TipoUnidad = Unidad & ":\ Unidad removible"
  18.         Case 3
  19.             ' Por ejemplo un disco duro
  20.            TipoUnidad = Unidad & ":\ Unidad Fija"
  21.         Case Is = 4
  22.             ' Una unidad de red
  23.            TipoUnidad = Unidad & ":\ Unidad remota"
  24.         Case Is = 5
  25.             'Unidad de Cd - Dvd
  26.            TipoUnidad = Unidad & ":\ Unidad de Cd-Rom"
  27.         Case Is = 6
  28.             ' Para una unidad de dsico Virtual
  29.            TipoUnidad = Unidad & ":\ Unidad virtual"
  30.         Case Else
  31.             'Cuando es desconocida
  32.            TipoUnidad = Unidad & ":\ Unidad no reconocida"
  33.     End Select
  34. End Function
  35.  
  36.  
  37. Private Sub Command1_Click()
  38. Dim LDs As Long, Cnt As Long, sDrives As String
  39.    
  40.     LDs = GetLogicalDrives
  41.     sDrives = "Drives disponibles: "
  42.     For Cnt = 0 To 25
  43.         If (LDs And 2 ^ Cnt) <> 0 Then
  44.             'sDrives = sDrives + " " + Chr$(65 + Cnt)
  45.            MsgBox TipoUnidad(Chr$(65 + Cnt))
  46.         End If
  47.    
  48.     Next Cnt
  49. 'Mostramos las unidades
  50. 'MsgBox sDrives, vbInformation, "Drives del sistema"
  51.  
  52. End Sub
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...

Etiquetas: diferenciar, pendrive
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:14.