Resumen Comprobar si tienes unidad de CD   (2 mensajes )

' Aqui la decalracion del API de Windows a utilizar:
Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
' Esta de arriba es la declaracion del API a utilizar, GetLogicalDrives
'es el nombre de la funcion, Kernel32 es el nombre del archivo DLL donde
'esta ubicada en este caso KERNEL:DLL y as Long es lo que devuelve, en
'este caso la funcion no tiene parametros.
Private Const SI_CD = &H8
'Constante a utilizar como mascara para el long devuelto por la funcion
' si deseas una explicacion mas detallada hasmelo saber.

Function HayCD() As Boolean
'Funcion que al utilizar la funcion API devuelve verdaero o falso
'si encontro unidad de CD ono
Dim Numero As Long
Numero = GetLogicalDrives()

If Hex(Numero And SI_CD) = SI_CD Then
   HayCD = True
Else
    HayCD = False
End If
End Function

Private Sub Form_Load()

If HayCD Then
    Label1.Caption = "Hay cd"
Else
    Label1.Caption = " no hay cd"
End If
End Sub

=========================================================
No soy experto en esto del API pero si tienes alguna duda solo pregunta
y tratare de Ayudarte
Saludos
--
============================
Victor Aguayo Seminario
Analista de Sistemas
mailto:vaguayo@unired.net.pe
============================
Dice el necio en su corazon, no hay Dios ...(Proverbios)

>De: julian carcia[SMTP:jcarcia@hotmail.com]
>Enviado el: 28 December, 1998 8:33 AM
>Para: vb-esp@ccc.uba.ar
>Asunto: (VB-ESP) conocer la unidad lectora cd-Rom del usuario
>Queridos amigos:
>Nos gustaria mucho conocer si podeis resolver este problema nuestro.
>Queremos que un usuario no se vea obligado a instalar las librerias
>de ficheros de sonido e imagenes de un programa nuestro.
>Queremos que pueda ejecutar el programa desde su cd_rom....Nuestro
>problema es .....que debemos conocer la letra de la unidad de su lector
>cd_rom..


Te remito esto que en su momento lo envió Antonio Periago.

Saludos

Julio Collado
Managua, Nicaragua


Para saber con qué tipo de unidad nos la estamos jugando basta llamar a
la función GetDriveType.

La declaración es:

Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA"
(ByVal nDrive As String) As Long

y los valores que devuelve son (poner en ctes para mayor comodidad):

    2 -> Unidad extraíble (FDD, ZIP,...)
    3 -> Unidad fija (HDD)
    4 -> Unidad remota
    5 -> Unidad de CD-ROM <------ su caso!
    6 -> Unidad RAM

Para crear una lista de unidades personalizadas (por ejemplo, sólo
CD-ROM's), ponga un ListDrive oculto, un ListBox y compruebe. Una forma
sería:

For i=0 to Drive1.ListCount-1

    If GetDriveType(Drive1.List(i)) = 5 Then
        List1.AddItem UCase(Drive1.List(i))
    End If

Next i

que nos presenta una lista con las unidades de CD-ROM's conectadas al
PC.
Espero que le sirva.


Antonio Periago Miñarro



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com