Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    53

    [java] Comprensione codice

    Salve ragazzi questa classe server per ottenere il seriale della scheda madre. Qualcuno di voi è in grado di spiegarmi praticamente come lo fa ?
    codice:
    public static String getMotherboardSN() {
            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();
      }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [java] Comprensione codice

    Originariamente inviato da Rosario7
    Qualcuno di voi è in grado di spiegarmi praticamente come lo fa ?
    C'è una stringa (vbs) che contiene un pezzo di codice in VBScript (che fa uso di oggetti WMI per ottenere le informazioni). Questa stringa viene scritta su un file temporaneo (cancellato poi dalla JVM alla terminazione). Viene poi eseguito cscript.exe che è in grado di eseguire lo script vbs. Lo standard output del processo viene letto riga per riga e concatenato in una stringa.

    Non è perfetto/efficientissimo ma se funziona .... ok.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.