Código fuente de ejemplo en Java que abre y cierra 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
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(); } } |
Para compilarlo y ejecutarlo podemos utilizar:
javac AbrirCD.java
java -classpath . AbrirCD