2012-01-18 5 views
6

Básicamente, solo tengo que escribir un programa simple de Java para detectar la versión de mi Internet Explorer instalado localmente.Puede escribir código Java para verificar la versión local de Internet Explorer

Tiene un código JavaScript, pero se ejecuta dentro de su navegador. lo que quiero es un código como este:

public class VersionTest 
{ 
    public static void main(String[] args) 
    { System.out.println("you IE Version is:" + getIEVersion()); 
    } 

    public static String getIEVersion() 
    { //implementation that goes out and find the version of my locally installed IE 
    } 
} 

¿Cómo puedo hacer eso? Gracias

+1

posible duplicado de [Cómo comprobar la versión de Internet Explorer en Java] (http://stackoverflow.com/questions/8916924/how-to- check-internet-exploradores-versión-en-java) –

+2

@TomaszNurkiewicz: No estoy de acuerdo. Esta es realmente una pregunta real. –

+1

@EdwardThomson Estoy de acuerdo, aunque el OP necesita aprender a arreglar las preguntas originales en lugar de simplemente pedir una versión ligeramente modificada –

Respuesta

4

puede usar Internet Explorer Registry Entry para la versión. Puede ejecutar Reg Query desde Java usando la clase Runtime. Reg Query es una herramienta de línea de comandos para consultar entradas de registro en Windows.

Process p = Runtime.getRuntime().exec("reg query \"HKLM\\Software\\Microsoft\\Internet Explorer\" /v Version"); 

Código completo:

ArrayList<String> output = new ArrayList<String>() 
Process p = Runtime.getRuntime().exec("reg query \"HKLM\\Software\\Microsoft\\Internet Explorer\" /v Version"); 
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()),8*1024); 
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream())) 
String s = null; 
System.out.println("Here is the standard output of the command:\n"); 
while ((s = stdInput.readLine()) != null) 
output.add(s) 

String internet_explorer_value = (output.get(2)); 
String version = internet_explorer_value.trim().split(" ")[2]; 
System.out.println(version); 

salida = 9.0.8112.16421

salida de reg query en mi símbolo del sistema

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Internet Explorer

Versión REG_SZ 9.0.8112.16421

2

La entrada de registro que está buscando está en:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version 

¿Cómo se leen las entradas de registro en Java? Go read this Stack Overflow question.

2
private String getBrowserType(String currValue){ 
String browser = new String(""); 
String version = new String(""); 
if(currValue != null){ 
if((currValue.indexOf("MSIE") == -1) && (currValue.indexOf("msie") == -1)){ 
browser = "NS"; 
int verPos = currValue.indexOf("/"); 
if(verPos != -1) 
version = currValue.substring(verPos+1,verPos + 5); 
} 
else{ 
browser = "IE"; 
String tempStr = currValue.substring(currValue.indexOf("MSIE"),currValue.length()); 
version = tempStr.substring(4,tempStr.indexOf(";")); 

} 

} 
System.out.println(" now browser type is " + browser +" " + version); 

return browser + " " + version; 

} 

Source

+1

Gracias por el código –

Cuestiones relacionadas