Java.Utils:获取电脑配置信息

Java.Utils:获取电脑配置信息Don t say much just go to the code package org bood common utils import java io 获取电脑配置信息 author bood since 2020 10 16 public class HardwareUtil private

Don’t say much, just go to the code.

package org.bood.common.utils;

import java.io.*;

/** * 获取电脑配置信息 * * @author bood * @since 2020/10/16 */
public class HardwareUtils {


private HardwareUtils() {

}

/** *

* 获取主板序列号 *

* * @return:java.lang.String * @author:bood * @date:2020/10/16 */
public static String getMotherboardSN() {

String result = "";
try {

File file = File.createTempFile("realhowto", ".vbs");
file.deleteOnExit();
FileWriter fw = new FileWriter(file);

String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"
+ "Set colItems = objWMIService.ExecQuery _ \n"
+ " (\"Select * from Win32_BaseBoard\") \n"
+ "For Each objItem in colItems \n"
+ " Wscript.Echo objItem.SerialNumber \n"
+ " exit for ' do the first cpu only! \n" + "Next \n";

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();
}

/** *

* 获取硬盘序列号 *

* * @param drive: 盘符 * @return:java.lang.String * @author:bood * @date:2020/10/16 */
public static String getHardDiskSN(String drive) {

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(\""
+ 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();
}

/** *

* 获取 CPU 序列号 *

* * @return:java.lang.String * @author:bood * @date:2020/10/16 */
public static String getCPUSerial() {

String result = "";
try {

File file = File.createTempFile("tmp", ".vbs");
file.deleteOnExit();
FileWriter fw = new FileWriter(file);
String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"
+ "Set colItems = objWMIService.ExecQuery _ \n"
+ " (\"Select * from Win32_Processor\") \n"
+ "For Each objItem in colItems \n"
+ " Wscript.Echo objItem.ProcessorId \n"
+ " exit for ' do the first cpu only! \n" + "Next \n";

// + " exit for \r\n" + "Next";
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();
file.delete();
} catch (Exception e) {

e.fillInStackTrace();
}
if (result.trim().length() < 1 || result == null) {

result = "无CPU_ID被读取";
}
return result.trim();
}

/** *

* 获取MAC地址,使用前请修改,只适合中文系统,并且名称为以太网适配器的网卡地址 *

* * @return:java.lang.String * @author:bood * @date:2020/10/16 */
@Deprecated
public static String getMac() {

String result = "";
try {


Process process = Runtime.getRuntime().exec("ipconfig /all");
InputStreamReader ir = new InputStreamReader(process.getInputStream(), "GBK");
LineNumberReader input = new LineNumberReader(ir);

String line;

while ((line = input.readLine()) != null) {

if (line.indexOf("以太网适配器") != -1) {

while ((line = input.readLine()) != null) {

if (line.indexOf("Physical Address") >= 0 || line.indexOf("物理地址") >= 0) {

String MACAddr = line.substring(line.indexOf("-") - 2);
result = MACAddr;
break;
}
}
break;
}
}
} catch (IOException e) {

System.err.println("IOException " + e.getMessage());
}
return result;
}

}
编程小号
上一篇 2025-02-10 08:11
下一篇 2025-03-27 09:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/131411.html