[JAVA] Lire dans la base de registres...

Lire dans la base de registres... [JAVA] - Programmation

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.

Reply

Marsh Posté le 22-03-2001 à 20:59:10   

Reply

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.

Reply

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.

Reply

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...

Reply

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.

Reply

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.

Reply

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed