Lecture du registre windows

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 649 fois - Téléchargée 29 fois

Contenu du snippet

Une classe qui permet d'obtenir la valeur d'une clé du registre windows. Dans le source il s'agit du chemin d'installation Acrobat Reader 7.
Le code n'utilise pas JNI ou wfc que du 100% Java

Source / Exemple :


import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;

public class RegPathAdobe {

	private static final String REGQUERY_UTIL = "reg query ";

	private static final String REGSTR_TOKEN = "REG_SZ";

	// quand on connait la valeur de la clé
	// private static final String ADOBE_NAME_CMD = REGQUERY_UTIL +
	// "\"HKLM\\Software\\Adobe\\Acrobat Reader\\7.0\\Installer\" /v Path";
	
	// dans le cas contraire
	private static final String ADOBE_NAME_CMD = REGQUERY_UTIL
			+ "\"HKLM\\Software\\Adobe\\Acrobat Reader\\7.0\\InstallPath\"";

	public static String getAdobePath() {
		try {
			Process process = Runtime.getRuntime().exec(ADOBE_NAME_CMD);
			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;
		}
	}

	//parser du résultat
	static 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();
		}
	}

	public static void main(String s[]) {
		System.out.println(getAdobePath());
	}

}

Conclusion :


le code d'origine se trouve sur internet :
http://www.rgagnon.com

Je le poste ici car je ne l'ai pas trouvé facilement et ça peut être utile à d'autres ;-)

A voir également

Ajouter un commentaire Commentaires
cs_merioma Messages postés 17 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 17 avril 2009
5 mai 2008 à 22:08
Merci c'est parfait ,mais je veux avoir la valeur du clé RUN
c'est possible?
Chatbour Messages postés 71 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 12 juillet 2009 10
31 mars 2008 à 19:37
Merci pour le partage :)
pumbaa666 Messages postés 24 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 19 janvier 2010
6 janv. 2008 à 01:35
Simple, efficace, parfait. Exactement ce que je cherchais !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.