Aquí hay un código hecho en Java usando WMPlayer.OCX.7. Quiero usar en Java mciSendString(L"Set CDAudio Door Open Wait", 0, 0, 0);
Es para abrir y cerrar la bandeja.
Código
/** * */ package com.sabado; import java.io.File; import java.io.FileWriter; /** * -.- * */ public class Unidad { /** * @param args */ // TODO Auto-generated method stub //mostramos mensajes antes de abrir las bandejas de CD DVD null, "Pulsa OK para abrir las bandejas de los " + "lectores/grabadores de CD/DVD del equipo.", "Abrir CD/DVD", Unidad.abrirBandejaCDDVD(); //mostramos mensaje antes de cerrar las bandejas de CD DVD null, "Pulsa OK para cerrar las bandejas de los " + "lectores/grabadores de CD/DVD del equipo.", "Cerrar CD/DVD", Unidad.cerrarBandejaCDDVD(); } public static void abrirBandejaCDDVD () { try { file.deleteOnExit(); + "Set collCDROM = objPlayer.cdromCollection \n" + "if collCDROM.Count >= 1 then \n" + "For i = 0 to collCDROM.Count - 1 \n" + "collCDROM.Item(i).Eject \n" + "Next \n" + "End If \n"; fw.write(vbs); fw.close(); } { e.printStackTrace(); } } public static void cerrarBandejaCDDVD() { try { file.deleteOnExit(); //para cerrar las bandejas de CD hay que ejecutar "eject" dos veces + "Set collCDROM = objPlayer.cdromCollection \n" + "if collCDROM.Count >= 1 then \n" + "For i = 0 to collCDROM.Count - 1 \n" + "collCDROM.Item(i).Eject \n" + "collCDROM.Item(i).Eject \n" + "Next \n" + "End If \n"; fw.write(vbs); fw.close(); } { e.printStackTrace(); } } }
¿Algún ejemplo usando mciSendString en Java?
Lo pregunto porque el de arriba es mucho código para lo que hay que hacer, abrir y cerrar la bandeja.
Un ejemplo en C++ se hace en menos líneas de códigos, por ejemplo este indicado abajo.
Paso 1:
Paso 2:
Paso3:
Escribir Winmm.lib.
Paso 4:
Sólo se necesita tres includes.
Código
#include "stdafx.h" #include "Windows.h" #include "iostream" using namespace std; int main() { // Título de la ventana. SetConsoleTitle(L"Consola C++ Win32 2017"); // Variable. char entrada[] = "\0"; // Guarda A, a, C, y c tipo string que introduces desde la consola. while (true) { // Muestra en pantalla textos. cout << "Control bandeja del lector: " << endl << endl; cout << "A - Abrir bandeja." << endl; cout << "C - Cerrar bandeja." << endl; cout << "==========================" << endl; cin >> entrada; // Aquí introduces letras A, a, C, y c. cout << "\n" << endl; // Abrir bandeja. if ((entrada[0] == 'a') || (entrada[0] == 'A')) { cout << "Abriendo..." << endl << endl; // Muestra en pantalla textos. mciSendString(L"set cdaudio door open", nullptr, 0, nullptr); cout << "Abierto." << endl << endl; // Muestra en pantalla textos. } // Cerrar bandeja. else if ((entrada[0] == 'c') || (entrada[0] == 'C')) { cout << "Cerrando..." << endl << endl; // Muestra en pantalla textos. mciSendString(L"set cdaudio door closed", nullptr, 0, nullptr); cout << "Cerrado." << endl << endl; // Muestra en pantalla textos. } // Si haz pulsado otro caracter distinto de A, C, a, y c aparece else { cout << "Solo pulsar A o C." << endl << endl; // este mensaje. } } return EXIT_SUCCESS; }
Saludos.