|
|||||||
|
|
|
![]() |
|
|
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: 07:35.



















