java 能不能获取CPU的ID号,硬盘的序列号

 我来答
匿名用户
2016-11-08
展开全部
public class CpuUtil {
 public static void main(String[] args) throws IOException {
  long start = System.currentTimeMillis();
  Process process = Runtime.getRuntime().exec(
    new String[] { "wmic", "cpu", "get", "ProcessorId" });
  process.getOutputStream().close();
  Scanner sc = new Scanner(process.getInputStream());
  String property = sc.next();
  String serial = sc.next();
  System.out.println(property + ": " + serial);
  System.out.println("time:" + (System.currentTimeMillis() - start));
 }
}
public class DiskUtil {
 public static String getSerialNumber(String drive) {
    String result = "";
      try {
        File file = File.createTempFile("realhowto",".vbs");
        file.deleteOnExit();
        FileWriter fw = new java.io.FileWriter(file);
        String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n"
                    +"Set colDrives = objFSO.Drives\n"
                    +"Set objDrive = colDrives.item(\"" + drive + "\")\n"
                    +"Wscript.Echo objDrive.SerialNumber";  // see note
        fw.write(vbs);
        fw.close();
        Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
        BufferedReader input =
          new BufferedReader
            (new InputStreamReader(p.getInputStream()));
        String line;
        while ((line = input.readLine()) != null) {
           result += line;
        }
        input.close();
      }
      catch(Exception e){
          e.printStackTrace();
      }
      return result.trim();
    }
 public static void main(String[] args) {
   String sn = DiskUtil.getSerialNumber("C");
   System.out.println(sn);
 }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式