欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java调用VBScript打开关闭CD,java调用vbscriptcd,java本身没有和cd驱

来源: javaer 分享于  点击 41919 次 点评:230

java调用VBScript打开关闭CD,java调用vbscriptcd,java本身没有和cd驱


java本身没有和cd驱动交互的方法。不过在windows下可以通过调用VB脚本实现。

我们需要创建一个临时的vbs脚本文件然后执行这个脚本。

import java.io.File;import java.io.FileWriter;public class CDUtils {  private CDUtils() {  }  public static void open(String drive) {    try {        File file = File.createTempFile("realhowto",".vbs");        file.deleteOnExit();        FileWriter fw = new java.io.FileWriter(file);        String vbs = "Set wmp = CreateObject(\"WMPlayer.OCX\") \n"                   + "Set cd = wmp.cdromCollection.getByDriveSpecifier(\""                   + drive + "\") \n"                   + "cd.Eject";        fw.write(vbs);        fw.close();        Runtime.getRuntime().exec("wscript " + file.getPath()).waitFor();        // thanks to TrueJavaProgammer for the waitFor() tip!              // Runtime.getRuntime().exec("wscript " + file.getPath()).waitFor();        // Thread.sleep(2000);    }    catch(Exception e){        e.printStackTrace();    }  }  public static void close(String drive) {    try {        File file = File.createTempFile("realhowto",".vbs");        file.deleteOnExit();        FileWriter fw = new FileWriter(file);        // to close a CD, we need eject two times!        String vbs = "Set wmp = CreateObject(\"WMPlayer.OCX\") \n"                   + "Set cd = wmp.cdromCollection.getByDriveSpecifier(\""                   + drive + "\") \n"                   + "cd.Eject \n "                   + "cd.Eject ";        fw.write(vbs);        fw.close();        Runtime.getRuntime().exec("wscript " + file.getPath()).waitFor();        // thanks to TrueJavaProgammer for the waitFor() tip!              // Runtime.getRuntime().exec("wscript "+ file.getPath());        // Thread.sleep(2000);    }    catch(Exception e){        e.printStackTrace();    }  }  public static void main(String[] args){    javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)               null, "Press OK to open CD", "CDUtils",               javax.swing.JOptionPane.DEFAULT_OPTION);    CDUtils.open("D:\\");    javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)         null, "Press OK to close CD", "CDUtils",         javax.swing.JOptionPane.DEFAULT_OPTION);    CDUtils.close("D:\\");  }}

注意:这段代码依赖于windows Media Player 7或以上版本

相关栏目:

用户点评