Lire dans la base de registres... [JAVA] - Programmation
Marsh Posté le 22-03-2001 à 21:08:50
Java est fait pour être indépendant de la plateforme donc l'accès à la base de registres doit pas être standard.
Marsh Posté le 22-03-2001 à 21:11:03
ah.
Oueh bon je vais chercher sur le site de sun,y'aura peut etre
un gars qui l'a deja fait...
Merci sinon.
Marsh Posté le 22-03-2001 à 22:12:22
Verdoux a raison. Et langage indépendant plate-forme (enfin surtout indépendant Microsoft) signifie pas de fonction propre à Windows. Si tu veux le faire, il faut que tu t'écrives un petit bout de code natif qui sera appelé par ton programme Java.
Par contre, si tu utilises Visual J++ ou C#, il doit y avoir moyen. Mais je n'appelle plus vraiment ça du Java...
Marsh Posté le 22-03-2001 à 22:25:10
Si avec J++ y'a un moyen. J'ai en effet choppé un bout de code sur sun qui fait ce qu'il faut. Il faut utiliser un des packages utilisés par MS.
Pour les curieux voici le bout de code:
import com.ms.wfc.app.*;
...
RegistryKey theKey = Registry.CLASSES_ROOT;
if(theKey == null)
{
System.out.println("Couldn't access the registry" );
}
RegistryKey theMIMEKey = theKey.getSubKey
("MIME\\Database\\Content Type\\application/xml" );
if(theMIMEKey == null)
{
System.out.println("Couldn't access the application\XML MIME type" );
return;
}
// Now to use the key_to_find variable
String tmp = (String)theMIMEKey.getValue("Extension" );
if(tmp == null)
{
System.out.println("Couldn't retrieve the extension!" );
return;
}
else
{
System.out.println("Found the extension : " + tmp);
}
Sinon y'a le JNI aussi parait il qui permettra, d'apres ce que j'ai compris, de lancer le code programmé dans un autre language et de recupérer les variables.
Marsh Posté le 22-03-2001 à 22:35:36
Oui JNI permet 2 choses:
- appeler des fonctions implémentées nativement (typiquement en C/C++)
- appeler la JVM depuis du code natif.
Y a tout ce qu'il faut pour les échanges de données entre les 2 codes.
Marsh Posté le 22-03-2001 à 22:37:55
A moins de faire un programme d'installation pour un logiciel, il est complètement débile d'accéder à la base de registre (trou de sécurité). Aucun accès ne devrait etre permis sans que l'OS accepte.
Personnelement, les OS de Microsoft sont pleins de bugs et de trous de sécurité. Je ne les utilise plus.
Marsh Posté le 22-03-2001 à 20:59:10
Je voulais savoir si c'etait possible(je pense qd meme).
Quelqu"un sait il comment faire?
Merci d'avance.