Lenguaje de programación Java
Mostramos el código de ejemplo en Java para abrir y cerrar las bandejas de todos los dispositivos de CD/DVD de un PC.
Sólo funcionará en sistemas operativos Windows pues generamos un fichero VBScript y lo abrimos con el compilador de Windows para VBScript.
Para compilarlo y ejecutarlo podemos utilizar:
javac AbrirCD.java
java -classpath . AbrirCD
El código Java:
import java.io.File;
import java.io.FileWriter;
public class AbrirCD
{
private AbrirCD()
{
}
public static void abrirBandejaCDDVD ()
{
try
{
File file = File.createTempFile("abrirbandejacd",".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);
String vbs = "Set objPlayer = CreateObject(\"WMPlayer.OCX.7\") \n"
+ "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();
Runtime.getRuntime().exec("wscript " + file.getPath()).waitFor();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void cerrarBandejaCDDVD()
{
try
{
File file = File.createTempFile("cerrarbandejacd",".vbs");
file.deleteOnExit();
FileWriter fw = new FileWriter(file);
//para cerrar las bandejas de CD hay que ejecutar "eject" dos veces
String vbs = "Set objPlayer = CreateObject(\"WMPlayer.OCX.7\") \n"
+ "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();
Runtime.getRuntime().exec("wscript " + file.getPath()).waitFor();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
//mostramos mensajes antes de abrir las bandejas de CD DVD
javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
null, "Pulsa OK para abrir las bandejas de los " +
"lectores/grabadores de CD/DVD del equipo.", "Abrir CD/DVD",
javax.swing.JOptionPane.DEFAULT_OPTION);
AbrirCD.abrirBandejaCDDVD();
//mostramos mensaje antes de cerrar las bandejas de CD DVD
javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
null, "Pulsa OK para cerrar las bandejas de los " +
"lectores/grabadores de CD/DVD del equipo.", "Cerrar CD/DVD",
javax.swing.JOptionPane.DEFAULT_OPTION);
AbrirCD.cerrarBandejaCDDVD();
}
}
Publicado el: 2013-07-23