Autor Tópico: Como aplicar uma class em java no SC  (Lida 1354 vezes)

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Como aplicar uma class em java no SC
« Online: Março 14, 2010, 11:52:23 am »
Ola MAIS uma vez !!!!...

Bem, pela minha falta de esperiência eu não estou conseguindo aplicar a seguinte class abaixo no SC5:

Alguem pode me ajudar?



import java.io.BufferedReader;   
import java.io.File;   
import java.io.FileWriter;   
import java.io.InputStreamReader;   
 
 
public class Teste {   
 
    public static String getHDSerial(String drive) {   
        String result = "";   
        try {   
            //File file = File.createTempFile("tmp",".vbs");   
            File file = File.createTempFile("tmp", ".vbs");   
            file.deleteOnExit();   
            FileWriter fw = new java.io.FileWriter(file);   
 
            String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n" + "Set colDrives = objFSO.Drives\n"   
                            + "Set objDrive = colDrives.item(\"" + drive + "\")\n" + "Wscript.Echo objDrive.SerialNumber";     
            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) {   
 
        }   
        if (result.trim().length() < 1  || result == null) {   
            result = "NO_DISK_ID";   
 
        }   
 
        return result.trim();   
    }   
 
    public static String getCPUSerial() {   
        String result = "";   
        try {   
            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();   
        } catch (Exception e) {   
 
        }   
        if (result.trim().length() < 1 || result == null) {   
            result = "NO_CPU_ID";   
        }   
        return result.trim();   
    }   
 
    public static void main(String[] args) {   
        System.out.println("Serial do HD: " + getHDSerial("c"));   
        System.out.println("Serial da CPU: " + getCPUSerial());   
    }   
 


Rodrigo Lins

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 504
    • Overalt I.T
Re: Como aplicar uma class em java no SC
« Responder #1 Online: Março 15, 2010, 09:33:47 am »
Bom Dia,

Para conseguir rodar Java no PHP será necessário habilitar o mesmo no PHP.

http://www.hlegius.pro.br/integracao-php-e-java-facil-porem-dificil/

Neste link existe uma breve descrição e tutorial de como fazer isto.

Espero ter ajudado.

Rodrigo Lins.