在Java中获取CPU ID

时间:2018-11-08 20:44:22

标签: java windows file exec

我想为我的项目使用CPU ID。 我的代码是获取CPU ID:

File file = File.createTempFile("tmp", ".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);

String vbs = "On Error Resume Next \r\n\r\n" + "strComputer = \".\"  \r\n"
        + "Set objWMIService = GetObject(\"winmgmts:\" _ \r\n"
        + "    & \"{impersonationLevel=impersonate}!\\\\\" & strComputer & \"\\root\\cimv2\") \r\n"
        + "Set colItems = objWMIService.ExecQuery(\"Select * from Win32_Processor\")  \r\n "
        + "For Each objItem in colItems\r\n " + "    Wscript.Echo objItem.ProcessorId  \r\n "
        + "    exit for  ' do the first cpu only! \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();

但是我收到以下错误:

Input Error: There is no file extension in "C:\Program".

0 个答案:

没有答案