java获取本机cup序列号,硬盘序列号
时间: 2023-08-08 13:09:39 浏览: 48
获取本机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系统中运行。