Foros del Web » Programación para mayores de 30 ;) » .NET »

Cerrar y abrir la bandeja del lector con el botón manualmente, y que lo sepa C#

Estas en el tema de Cerrar y abrir la bandeja del lector con el botón manualmente, y que lo sepa C# en el foro de .NET en Foros del Web. Hola: Quiero cerrar y abrir la bandeja del lector de DVD con el botón manualmente, y que lo sepa C#. Estoy usando Visual Studio Community ...
  #1 (permalink)  
Antiguo 15/03/2017, 15:53
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 702
Antigüedad: 9 años, 11 meses
Puntos: 7
Cerrar y abrir la bandeja del lector con el botón manualmente, y que lo sepa C#

Hola:

Quiero cerrar y abrir la bandeja del lector de DVD con el botón manualmente, y que lo sepa C#. Estoy usando Visual Studio Community 2017.

En otro momento hicimos desde C#, controlar la bandeja abrirla y cerrarla pulsando los botones como indica en la interfaz de abajo.



Código fuente sencillo de C#:
Código:
    using System;
    using System.Runtime.InteropServices; // No olvidar.
    using System.Text;
    using System.Windows.Forms;
     
    namespace Lector_discos_cs
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            [DllImport("winmm.dll")]
            public static extern Int32 mciSendString(string lpstrCommand, StringBuilder lpstrReturnString, 
                int uReturnLength, IntPtr hwndCallback);
     
            StringBuilder rt = new StringBuilder(127);
     
            private void button_Abrir_Click(object sender, EventArgs e)
            {
                label_Mensaje.Text = "Abriendo...";
                Application.DoEvents();
                mciSendString("set CDAudio door open", rt, 127, IntPtr.Zero);
                label_Mensaje.Text = "Abierto";
            }
     
            private void button_Cerrar_Click(object sender, EventArgs e)
            {
                label_Mensaje.Text = "Cerrando...";
                Application.DoEvents();
                mciSendString("set CDAudio door closed", rt, 127, IntPtr.Zero);
                label_Mensaje.Text = "Cerrado";
            }
        }
    }
Hasta aquí todo bien.

Ahora quiero hacer, saber antes que nada, si es posible que al meter la bandeja con la mano o pulsar el botón físicamente del lector, C# puede saber su estado, cunado está abierto y cuando está cerrado.

En este caso, no hay botones para Windows Form de C#, solo un label que indica el estado "ABIERTO" y "CERRADO".

¿Es posible hacerlo?

Si es así. ¿Cómo se hace?

Lo único que pensé que este enlace valdría la pena o te daba información, pero es otra cosa.

Que tengan buena semana. ;)
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar



La zona horaria es GMT -6. Ahora son las 03:19.