JAVA获取硬盘序列号

硬盘序列号是硬盘格式化时系统随机分配给硬盘的一组十六进制字符串,除分对硬盘重新进行格式化,硬盘序列号是不会改变的。所以,很多软件都会以硬盘序列号判断用户是否合法用户。以下是JAVA获取硬盘序列号的方法。

 

public static String getHdSerialInfo() {
  String line = "";
  String HdSerial = "";//记录硬盘序列号
  try {
   Process proces = Runtime.getRuntime().exec("cmd /c dir c:");//获取命令行参数
   BufferedReader buffreader = new BufferedReader(
     new InputStreamReader(proces.getInputStream()));
   while ((line = buffreader.readLine()) != null) {
    if (line.indexOf("卷的序列号是 ") != -1) {  //读取参数并获取硬盘序列号
     HdSerial = line.substring(line.indexOf("卷的序列号是 ")
       + "卷的序列号是 ".length(), line.length());
     break;
     // System.out.println(HdSerial);
    }
   }
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return HdSerial;返回硬盘序列号
 }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取本机CPU序列号硬盘序列号需要使用系统相关的API,因此代码会有一定的平台依赖性。以下是获取这两个序列号Java代码示例: 获取CPU序列号: ```java public static String getCpuSerial() { String result = ""; try { Process process = Runtime.getRuntime().exec(new String[] { "wmic", "cpu", "get", "ProcessorId" }); process.getOutputStream().close(); Scanner scanner = new Scanner(process.getInputStream()); scanner.next(); result = scanner.next(); scanner.close(); } catch (IOException e) { e.printStackTrace(); } return result.trim(); } ``` 获取硬盘序列号: ```java public static String getHardDiskSerial() { String result = ""; try { File file = File.createTempFile("realhowto", ".vbs"); file.deleteOnExit(); FileWriter fw = new FileWriter(file); String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n" + "Set colDrives = objFSO.Drives\n" + "Set objDrive = colDrives.item(\"C\")\n" + "Wscript.Echo objDrive.SerialNumber"; fw.write(vbs); fw.close(); Process process = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath()); process.getOutputStream().close(); Scanner scanner = new Scanner(process.getInputStream()); result = scanner.next(); scanner.close(); } catch (IOException e) { e.printStackTrace(); } return result.trim(); } ``` 需要注意的是,以上代码只是演示了如何获取CPU序列号硬盘序列号,实际应用中还需要进行一些错误处理和适配不同的操作系统。同时,获取硬盘序列号需要在Windows系统中运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值