Pregunta: | 51163 - DETECTAR SI UNA UNIDAD USB (PEN DRIVE) A SIDO CONECTADA |
Autor: | José Quintana |
Para un proyecto de VB 6 necesito saber que letra asignará la computadora al Pen Drive, si está conectado o no, para poder copiar algunos archivos en el mismo. Gracias de antemano por la ayuda. |
Respuesta: | Roberto ROGERS |
Te agradezco la rutina, me sirvió de 10. Lo único que tuve que cambiar fué todos los 2 por 3. |
Respuesta: | José L Quintana |
Hice estas dos Funciones que, aunque no es exactamente lo que deseaba, me sirve para el proyecto en cuestión. La comparto con Uds. para que sea mejorada.
'Declaración: Declare Function GetDriveType Lib "kernel32" Alias _ "GetDriveTypeA" (ByVal nDrive As String) As Long Function PenExists() As Boolean Dim NumDisco As Integer Dim StrDisco As String Dim ret As Long Dim sTipos(0 To 6) As String ' Para los valores de retorno de GetDriveType (32bits) sTipos(0) = " No Instalado" sTipos(1) = " No Instalado" sTipos(2) = " Extraible" sTipos(3) = " Fijo" sTipos(4) = " Remoto" sTipos(5) = " CDROM" sTipos(6) = " RAMDISK" PenExists = False For NumDisco = 0 To 25 StrDisco = Chr(NumDisco + 65) & ":\" If NumDisco = 0 Then ret = GetDriveType(StrDisco) ElseIf NumDisco > 0 And GetDriveType(StrDisco) = 2 Then ret = 7 PenExists = True ElseIf NumDisco > 0 And GetDriveType(StrDisco) <> 2 Then ret = GetDriveType(StrDisco) End If Next End Function Function PenLetra() As String Dim NumDisco As Integer Dim StrDisco As String Dim ret As Long PenLetra = "" For NumDisco = 0 To 25 StrDisco = Chr(NumDisco + 65) & ":\" If NumDisco = 0 Then ret = GetDriveType(StrDisco) ElseIf NumDisco > 0 And GetDriveType(StrDisco) = 2 Then PenLetra = StrDisco ElseIf NumDisco > 0 And GetDriveType(StrDisco) <> 2 Then ret = GetDriveType(StrDisco) End If Next End Function 'uso: If PenExists=True then txtText1.Text = PenLetra End If Agradezco los e-Mail y las posibles respuestas Saludos |