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. ;)