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:
Hasta aquí todo bien.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"; } } }
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. ;)