Clé base de registre et contenu fichier

stef.roos Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -  
Nyctaclope Messages postés 5315 Date d'inscription   Statut Membre Dernière intervention   - 19 oct. 2009 à 14:33
Bonjour,

Savez-vous si il est possible de demander à une clé de base de registre d'aller chercher sa valeur dans un fichier de type *.txt ou autre qui contiendrait seulement la valeur de la clé?

Merci

@+

Stef
A voir également:

7 réponses

Nyctaclope Messages postés 5315 Date d'inscription   Statut Membre Dernière intervention   1 253
 
Bonsoir !
Je ne pense pas que ce soit possible, car une clé n'est ni un programme ni un script ..

Normalement tu dois créer un fichier .reg ( à partir d'un fichier .txt renommé en .reg ) et l'exécuter.
Ce fichier .reg contient le libellé complet de la clé suivi de la valeur entre guillemets
Pour avoir la syntaxe exacte, fais un "exporter" depuis une branche du registre

Tu peux peut être t'en sortir en ayant deux fichiers .reg
- le premier , constant, contenant le "texte" brut du libellé de la clé ( CleBase.reg )
- le deuxième , variable, contenant la valeur entre guillemets ( Valeur.reg ), et que tu mets à jour.

et sous la console Dos, faire un Type avec concaténation :
Type CleBase.reg > Cle.reg ( pour créer un nouveau -ou écraser l'ancien- fichier distinct de CleBase qu'il ne faut pas écraser ), ou faire un Copy ..
Type Valeur.reg >> Cle.reg ( pour mettre au bout la valeur )
Il faut sans doute que CleBase.reg ne se termine pas par une fin de ligne, pour ne pas avoir deux lignes ( faire l'essai sur deux fichiers .txt inoffensifs ). Sinon faire un "COPY +" de type binaire.
et terminer par la commande :
cle.reg ( je pense que DOS l'et, à vérifier )
Je pense que tu dois pouvoir regrouper le tout dans un fichier batch avec comme paramètre en ligne de commande le nom du fichier Valeur.reg en tant que %1.

Tu peux peut être aussi, au lieu du fichier Valeur.reg, er par une variable interne, initialisée par la commande SET :
SET valeur = blabla
et tu utilise dans ta commande %valeur% pour récupérer le contenu de la variable ...

Il te reste bien sur à gérer convenablement dans ces commandes les dossiers concernés.
Et à tester avec prudence ! ( sauvegarde ton registre avant l'essai ).

Honnêtement, je n'ai pas eu le temps de faire les tests, mais cela ne doit pas te poser de problème majeur, en procédant méthodiquement ..

Peut être quelqu'un aura-t-il une meilleure solution ...

A+

Nyctaclope
0
Steven
 
Ben tu fais un prog en C qui lis le fichier et maj la valeur de la clé.
Ca prend 30 secondes...
0
stef.roos Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci pour vos réponses,

en réalité je cherche à modifier une clé de registre avant l'ouverture de session de windows xp, l'accès à la base de registre étant inaccessible avant l'ouverture session, je cherche un moyen de modifier ma valeur a travers le contenu d'un fichier ou encore mieux une variable qu'il faudrait déclarer mais comment???

Merci
0
Nyctaclope Messages postés 5315 Date d'inscription   Statut Membre Dernière intervention   1 253
 
Re

Cela change tout ...
Peut être une piste ici :
http://commentcamarche.sitesdebloques.org/contents/vbscript/vbs-wshshell.php3

Je n'arrive pas à savoir s'il s'agit ici de VB, ou plutôt de WSH ( Windows Script Host ) sur lequel j'ai un peu travaillé avec Windows 98, mais depuis longtemps je n'y ai plus touché.
En principe, WSH devrait être maintenant disponible sous toutes les versions de Windows ?.
Sous Windows 98, il fallait le récupérer sur le CD d'origine et télécharger une mise à jour.

Peut être donc créer un script convenable d'affectation de la clé, et l'inscrire dans la clé RUN pour le lancer au démarrage de Windows ..

Peut être d'autres pistes, sous Google, avec "affecter une valeur à une clé de registre", d'où j'ai extrait le lien précédent ...
Je vais continuer à chercher ..

Bonne chance ..

A+

Nyctaclope
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nyctaclope Messages postés 5315 Date d'inscription   Statut Membre Dernière intervention   1 253
 
Re

En info suite à un complément de recherche : ton application de modif de clé, quelle que soit sa forme, devra être lancée en tant que "service", pour s'exécuter avant le de Windows, et être placée sous le contrôle du "système", plutôt que de l'utilisateur ..

A+

Nyctaclope
0
stef.roos Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci de ton aide,

si j'arrive à faire ce que je veux je te tiendrai au courant

Bon week-end
0
Nyctaclope Messages postés 5315 Date d'inscription   Statut Membre Dernière intervention   1 253
 
Re

C'est très volontiers que je recevrai de tes nouvelles ...
A ta place, pour tester le principe dans un premier temps, j'essayerais un fichier batch à lancer par cmd.exe , pour bidouiller une fausse clé inoffensive dans le registre.
J'en ai perdu la trace, mais j'avais sous Google trouvé une indication pour un utilitaire pouvant transformer une application en "service". Je ne sais si cela marche pour un fichier batch, mais cela ne coûte pas cher à essayer ..

Je ne connais pas tes capacités en matière de programmation, mais, même pour un débutant, WSH est abordable sans trop de difficultés, un peu rudimentaire, mais assez efficace ...
La seule petite difficulté, c'est la notion d'"objet" avec les "méthodes" associées.
Mais si tu as déjà travaillé avec Visual Basic sous Excel, ce sont les mêmes principes ...
En pratique, il faut le bouquin, que l'on trouve facilement en libraire spécialisée ( "Windows Script Host" ).
Cela m'a donné envie de m'y remettre, et, si je trouve un peu de temps, je ferai peut être un essai ...

A+

Nyctaclope
0