CPUSerial.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.rf.fileCrack.utils;
  2. import java.io.BufferedReader;
  3. import java.io.File;
  4. import java.io.FileWriter;
  5. import java.io.InputStreamReader;
  6. public class CPUSerial {
  7. public static String getCPUSerial() {
  8. String result = "";
  9. try {
  10. File file = File.createTempFile("tmp", ".vbs");
  11. file.deleteOnExit();
  12. FileWriter fw = new java.io.FileWriter(file);
  13. StringBuilder sb = new StringBuilder("On Error Resume Next \r\n\r\n");
  14. sb.append("strComputer = \".\" \r\n");
  15. sb.append("Set objWMIService = GetObject(\"winmgmts:\" _ \r\n");
  16. sb.append(" & \"{impersonationLevel=impersonate}!\\\\\" & strComputer & \"\\root\\cimv2\") \r\n");
  17. sb.append("Set colItems = objWMIService.ExecQuery(\"Select * from Win32_Processor\") \r\n ");
  18. sb.append("For Each objItem in colItems\r\n " + " Wscript.Echo objItem.ProcessorId \r\n ");
  19. sb.append(" exit for ' do the first cpu only! \r\n");
  20. sb.append("Next");
  21. fw.write(sb.toString());
  22. fw.close();
  23. Process p = Runtime.getRuntime().exec("cscript //NoLogo //T:10 " + file.getPath());
  24. BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
  25. String line;
  26. while ((line = input.readLine()) != null) {
  27. result += line;
  28. }
  29. input.close();
  30. file.delete();
  31. } catch (Exception e) {
  32. e.fillInStackTrace();
  33. }
  34. return result;
  35. }
  36. }