|
|
|
![]() |
|
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: 06:53.