2

如何在 Linux、Mac 和 Solaris 中使用 Java 获取我的主板 ID?我更喜欢跨平台的解决方案。

我找到了一种适用于 Windows 的方法:

String result = "";
    try {
    File file = File.createTempFile("realhowto",".vbs");
    file.deleteOnExit();
    FileWriter fw = new java.io.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();

这在 Windows 中完美运行,但我需要在 Mac、Linux 和 Solaris 中也能运行的东西。

4

0 回答 0