2012-01-18 9 views
6

Temel olarak, yerel olarak kurulu Internet Explorer'ın sürümünü algılamak için basit bir java programı yazmam gerekiyor.Yerel Internet Explorer sürümünüzü kontrol etmek için Java kodu yazabilir misiniz?

Javascript kodu var, ancak tarayıcınızda çalışır. İstediğim şey şu şekildedir:

Bunu nasıl yaparım? Teşekkür

+1

olası yinelenen (http://stackoverflow.com/questions/8916924/how-to- [Java Internet Explorer'ın sürümünü kontrol yöntemi] check-internet-kaşif-sürümü-in-java) –

+2

@TomaszNurkiewicz: Ben katılmıyorum. Bu aslında gerçek bir soru. –

+1

@EdwardThomson Katılıyorum, ancak OP'nin orijinal soruları düzeltmeyi öğrenmek zorunda kalmasına rağmen, sadece biraz değiştirilmiş bir sürümü yeniden sormak yerine –

cevap

4

Sürüm için Internet Explorer Registry Entry'u kullanabilirsiniz. Runtime sınıfını kullanarak java'dan Reg Query uygulamasını çalıştırabilirsiniz. Reg Query, Windows kayıt defteri girdilerini sorgulamak için bir komut satırı aracıdır.

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

Komple kodu:

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); 

Çıktı = benim komut istemi reg query ait 9.0.8112.16421

Çıktı

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Internet Explorer

Sürüm REG_SZ 9.0.8112.16421

2

aradığınız defteri girdisi de geçerli:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version 

nasıl Java kayıt defteri girdilerini okuyorlar? 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

ait
+1

Kod için teşekkürler –

İlgili konular