Abrir y Cerrar la puerta del CD-ROM

Basandome en este video que vi hoy en internet decidí publicar este sencillo post sobre como hacer, mediante un programa en visual basic .net, que la puerta del lector de CD’s se abra y se cierre.

Para realizar el ejemplo simplemente necesitamos un formulario y dos botones (abrir y cerrar) como se ve en la imagen:

y el siguiente código:

Public Class Form1
    Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
       (ByVal lpCommandString As String, ByVal lpReturnString As String, _
       ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        AbrirCDROM()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        cerrarCDROM()
    End Sub

    Public Sub AbrirCDROM()
        mciSendString("set CDAudio door open", "", 0, 0)
    End Sub

    Public Sub cerrarCDROM()
        mciSendString("set CDAudio door closed", "", 0, 0)
    End Sub

End Class

Listo! a disfrutarlo y si tienes un bebe… a poner el código dentro de un bucle y a conseguir una cuerda.



14 Responses to “Abrir y Cerrar la puerta del CD-ROM”

  1. Información Bitacoras.com…

    Valora en Bitacoras.com: basandome en este video que vi hoy en internet decidí public este sencillo post sobre como hacer, mediante un programa en visual basic .net, que la puerta del lector de CD’s se abra y se cierre. Para realizar el ejemplo simpl…..

  2. ares dice:

    A ver si se duerme así.
    saludos

  3. Información Bitacoras.com…

    Valora en Bitacoras.com: Basandome en este video que vi hoy en internet decidí publicar este sencillo post sobre como hacer, mediante un programa en visual basic .net, que la puerta del lector de CD’s se abra y se cierre. Para realizar el ejemplo sim…..

  4. M.altm dice:

    hola, me parecio muy bueno el programa, me gustaria usarlo en visual basic 2005.
    Lo puedes escribir en este lenguaje? muchas gracias. este es el correo al que puedes enviar la respuesta, parisparis2@hotmail.es

  5. mustang dice:

    una curiosidad lo probe en visual net 2005
    no me tira error ni nada, pero al ejecutarlo en el boton de abrir, abre pero visual tira un mensaje que es el siguiente:

    A call to PInvoke function ‘WindowsApplication1!WindowsApplication1.Form1::mciSendString’ has unbalanced the stack. This is likely because the managed

    error de MDAs..¿que significa eso?

    gracias

  6. eFra dice:

    Pues lo probe en vb.net 2005 y todo funciona a la perfeccion… me gustaria participar con algunos ejemplos que yo tengo…

  7. gustavo dice:

    a mi tambien me manda el mismo error que mustang, que es lo que sera?

  8. cristian garcia dice:

    al principio yo no lo entendia pero viendolo varias veses lo pude entender un poco. pero el que si lo entiende bien es otoniel

  9. Ismael dice:

    Esta bueno el programita!

  10. jrchico dice:

    hola amigo yo utilizo este codigo me funciona a la perfeccion:

    Public Class Form1
    Private Declare Function mciSendString Lib “winmm.dll” Alias “mciSendStringA” (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles a.Click
    AbrirCDROM()
    a.Enabled = False
    c.Enabled = True
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles c.Click
    cerrarCDROM()
    c.Enabled = False
    a.Enabled = True
    End Sub

    Public Sub AbrirCDROM()
    mciSendString(“set CDAudio door open”, “”, 0, 0)
    End Sub

    Public Sub cerrarCDROM()
    mciSendString(“set CDAudio door closed”, “”, 0, 0)
    End Sub

    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Application.Exit()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub
    End Class

  11. jrchico dice:

    deben agregar 3 botones y label y una picture
    a
    c
    Button1

    boton a es para abrir el cdrom
    boton c es para cerrar
    button1 es para salir de la aplicacion
    label es opcional
    picture es opcional

  12. Eduardo dice:

    gracias jrchico

Comentar