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