| 	
	
	
		
		|||||||
  | 
		
| 
 | 
![]()  | 
	
	
| 
		 | 
	Strumenti | 
| 		
			
			 | 
		#1 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jul 2006 
				Città: Bergamo 
				
				
					Messaggi: 401
				 
				
				
				
				 | 
	
	
	
	
		
			
			 
				
				[JAVA] - Prelevare informazioni dal registro di sistema
			 
			
		Salve a tutti...Vorrei sapere se e come sia possibile prelevare dei valori dal registro di sistema (devo prelevare l'installPath di un' applicazione, quindi una String) e passarla come parametro al main del mio programma java... 
		
	
		
		
		
		
			grazie in anticipo 
				__________________ 
		
		
		
		
	
	iMac 27" 5K  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Mar 2007 
				
				
				
					Messaggi: 1792
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		Potresti usare la classe Preferences.
		 
		
	
		
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jul 2006 
				Città: Bergamo 
				
				
					Messaggi: 401
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		E come funziona????  
		
	
		
		
		
		
			
				__________________ 
		
		
		
		
	
	iMac 27" 5K  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Mar 2007 
				
				
				
					Messaggi: 1792
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		Hai cliccato sul link "classe Preferences" del post precedente?
		 
		
	
		
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jul 2006 
				Città: Bergamo 
				
				
					Messaggi: 401
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		Chiedo venia...non avevo notato fosse un link  
		
	
		
		
		
		
			 
		
				__________________ 
		
		
		
		
	
	iMac 27" 5K  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#6 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jul 2006 
				Città: Bergamo 
				
				
					Messaggi: 401
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		Grazie mille è stato utilissimo!!!!! 
		
	
		
		
		
		
			Gia che ci sono, casomai dovesse servire a qualcun'altro vi inserisco il codice della classe che ho usato per leggere un valore dal registro: Codice: 
	import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;
public class CatchRegDate {
	/**
	 * 
	 * la variabile path_da_cui_leggere contiene il percorso del dato da prelevare dal registro
	 * ed è strutturata nel seguente modo:
	 * "\"HKCU -> indica HKEY_CURRENT_USER
	 * 			  in alternativa potete usare: HKLM -> HKEY_LOCAL_MACHINE
	 * 										   HKCR -> HKEY_CLASSES_ROOT
	 * 										   HKU  -> HKEY_USER
	 * 										   HKCC -> HKEY_CURRENT_CONFIG
	 * \\...percorso completo del dato...\" -> dovrete inserire il percorso completo del dato da
	 * 										   leggere ricordandovi le \\ tra una cartella e 
	 * 										   l'altra e la \ finale
	 *  /v ...nome dato"; -> è il nome del dato da leggere
	 *  
	 *  Nell'esempio sottostante il programma vi ritornerà il dato Personal ovvero il path della
	 *  cartella Documenti
	 *  
	 *  Chiamando il metodo getRegDate() vi verrà ritornato il valore del dato che desiderate
	 * 
	 */ 
	
	
	private static final String path_da_cui_leggere = "\"HKCU\\Software\\Microsoft\\Windows\\Explorer\\Shell Folders\" /v Personal";
	private static final String REGQUERY_UTIL = "reg query ";
	private static final String REGSTR_TOKEN = "REG_SZ";
    private static final String INSTALL_PATH = REGQUERY_UTIL + path_da_cui_leggere;
	public static String getRegDate() {
		try {
	      Process process = Runtime.getRuntime().exec(/*PERSONAL_FOLDER_CMD*/INSTALL_PATH);
	      StreamReader reader = new StreamReader(process.getInputStream());
	      reader.start();
	      process.waitFor();
	      reader.join();
	      String result = reader.getResult();
	      int p = result.indexOf(REGSTR_TOKEN);
	      if (p == -1)
	         return null;
	      return result.substring(p + REGSTR_TOKEN.length()).trim();
	    }
	    catch (Exception e) {
	      return null;
	    }
	  }
}
class StreamReader extends Thread {
    private InputStream is;
    private StringWriter sw;
    StreamReader(InputStream is) {
      this.is = is;
      sw = new StringWriter();
    }
    public void run() {
      try {
        int c;
        while ((c = is.read()) != -1)
          sw.write(c);
        }
        catch (IOException e) { ; }
      }
    String getResult() {
      return sw.toString();
    }
  }
				__________________ 
		
		
		
		
	
	iMac 27" 5K  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
		
		  
	   | 
| Strumenti | |
		
  | 
	
		
  | 
Tutti gli orari sono GMT +1. Ora sono le: 14:53.









		
		
		

		
 
 







