2016-10-06 2 views
1

Hei Jungs, schnell dumme Frage ...Registry überprüft, ob der Pfad/Schlüssel vorhanden

habe ich diesen Code:

String arch = System.getenv("PROCESSOR_ARCHITECTURE"); 
String wow64Arch = System.getenv("PROCESSOR_ARCHITEW6432"); 
String realArch = arch.endsWith("64") || wow64Arch != null && wow64Arch.endsWith("64") ? "64" : "32"; 
String setWin = ((realArch.contains("64")) ? "SOFTWARE\\Wow6432Node\\path" : "SOFTWARE\\path"); 
String check = Advapi32Util.registryGetStringValue (HKEY_LOCAL_MACHINE, setWin, "InstallDir"); 

, die einen Weg in eine installierte Software reiht, aber wenn die Registrierung doesn‘ t existiert mein Programm stoppt. Wie kann ich überprüfen, ob die Registrierung existiert und ob sie nicht umgangen wird?

und auch system.err.println("Application not installed."); hinzufügen, wenn der Schlüssel nicht existiert.

PS: Das Programm ist eine GUI, also möchte ich es zeigen, auch wenn der Schlüssel fehlt.

Vielen Dank!

+1

prüft diese http://stackoverflow.com/questions/62289/read-write-to-windows-registry-using-java gefunden .. –

Antwort

0

Danke, Sam. Ich habe etwas, nicht sicher, ob es nicht an einem Punkt ...

public void checkInstalled(){ 
    try { 
     String regValue = null; 
      regValue = WinRegistry.valueForKey(WinRegistry.HKEY_LOCAL_MACHINE, setWin, "InstallDir"); 
     if(regValue == null){ 
      System.err.println("Application not installed!"); 
     } else { 
      "do the other thing" 
      } 
     } catch (IllegalArgumentException | IllegalAccessException | InvocationTargetException | IOException ex) { 
     System.err.println(ex); 
     } 
    } 
Verwandte Themen