Programa Java para obtener el número de serie de la CPU para la máquina de Windows

El número de serie de la CPU (o número de serie del procesador ) es un número de serie único legible por software que Intel ha estampado en su microprocesador Pentium 3. Intel ofrece esto como una característica que se puede usar opcionalmente para brindar ciertos beneficios de administración de red y comercio electrónico. Básicamente, permite que un programa identifique PC individuales.

Podemos obtener el número de serie de la CPU de una máquina con Windows de 2 formas:

  1. Ejecutando el comando en Windows PowerShell.
  2. Usando la clase FileWriter en Java

Forma 1: ejecutar el comando PowerShell

Es una forma similar a lo que decimos ejecutar comandos en terminales en Mac. Para Windows, es CMD para el cual tenemos un comando predefinido de una sola línea a continuación. Simplemente necesita escribirlo como ities o copiar lo mismo desde aquí, que se proporciona a continuación de la siguiente manera:

Sintaxis: 

WMIC BIOS GET SERIALNUMBER 

Aparecerá esta ventana emergente que nos permitirá revelar el número de serie de la CPU para la máquina con Windows. 

Forma 2: Usando la clase FileWriter 

La clase Java FileWriter del paquete java.io se utiliza para escribir datos en forma de caracteres en un archivo.

  • Esta clase hereda de la clase OutputStreamWriter que a su vez hereda de la clase Writer.
  • Los constructores de esta clase asumen que la codificación de caracteres predeterminada y el tamaño de búfer de bytes predeterminado son aceptables. Para especificar estos valores usted mismo, construya un OutputStreamWriter en un FileOutputStream .
  • FileWriter está diseñado para escribir secuencias de caracteres. Para escribir flujos de bytes sin procesar, considere usar un FileOutputStream.
  • FileWriter crea el archivo de salida si aún no está presente.

Ejemplo

Java

// Java Program to get CPU Serial Number of Windows Machine
// using FileWriter class
 
// Importing required classes
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
 
// Main class
// WindowsCpuSerialNumber
public class GFG {
 
    // Method 1
    // To get CPU serial number
    private static String getWindowsCPU_SerialNumber()
    {
 
        // Initially declaring and initializing an empty
        // string
        String result = "";
 
        // Try block to check for exceptions
        try {
 
            // Creating an object of File class
            File file
                = File.createTempFile("realhowto", ".vbs");
 
            // Deleting file while exiting
            file.deleteOnExit();
 
            // Creating an object of FileWriter class to
            // write on
            FileWriter fw = new java.io.FileWriter(file);
 
            // Remember the command
            String vbs1
                = "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";
 
            // Writing on file
            fw.write(vbs1);
 
            // Closing all file connections to
            // release memory spaces
            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 block to handle the exceptions
        catch (Exception E) {
 
            // Print the exception along with the message
            System.err.println("Windows CPU Exp : "
                               + E.getMessage());
        }
 
        return result.trim();
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
 
        String cpuSerialNumber
            = getWindowsCPU_SerialNumber();
 
        // Calling the method1 to retrieve CPU serial number
        // and printing the same
        System.out.println(
            "CPU Serial Number of my Windows Machine: "
            + cpuSerialNumber);
    }
}

Producción:

A continuación se muestra la salida codificada cuando se ejecuta en una máquina con Windows con la ayuda de la clase FileWriter.

Nota: además de esto, estos programas son específicos de Windows y no deben ejecutarse en otros sistemas operativos. El enfoque 1 no funcionará y para el enfoque 2, que es el enfoque anterior, se estableció a través de la clase FileWriter si, en Mac, el resultado es el siguiente. Es porque ‘cscript’ no se puede ejecutar en la terminal.

Publicación traducida automáticamente

Artículo escrito por ushashree y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *