OVH Cloud OVH Cloud

charger une ruche de Registre

29 réponses
Avatar
scraper
bonjour à tous !

je recherche des infos sur la façon de procéder programmatiquement pour
charger une ruche dans le Registre, depuis un fichier ntuser.dat

(on suppose que ce fichier n'est pas en cours d'utilisation ...)

mais j'ai aucune idée d'un début de commencement d'embryon de piste :-(

merci de toute l'aide que vous pourrez m'apporter



--

Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez.tiscali.fr

scraper

10 réponses

1 2 3
Avatar
Michel
scraper a écrit :

bonjour à tous !

je recherche des infos sur la façon de procéder programmatiquement pour
charger une ruche dans le Registre, depuis un fichier ntuser.dat

(on suppose que ce fichier n'est pas en cours d'utilisation ...)

mais j'ai aucune idée d'un début de commencement d'embryon de piste :-(

merci de toute l'aide que vous pourrez m'apporter





Ouais la question est interessante et m'a quelquefois dèjà effleuré, mais
n'ayant jamais été au pied du mur je l'ai évité.
Ceci dit je pense que l'on peut lire un fichier.dat ( non utilisé bien sur )
avec regedit
Alors d'abord recherche tous les parametres et options possible de regedit.
A partir de là tu pourras decharger l'arborescence qui te convient dans un fichier .reg
A recharger ce fichier .reg

Ci joint un stuff d'echange que j'avis mis de coté sur le sujet à completer evidemment
et bonne chasse.
Pour la technique d'acces aux registre je te propose de jeter un oeil à mon pgm
regtreeview sur http://megaten.alterlinks.fr
tu y trouveras pratiquement tous ce que l'on peut faire dans une bdr.

Bonne chance
Michel


Pour exporter entièrement la base de registres, on peut le faire :

- en ouvrant regedit.exe, clic gauche sur "Base de registres", clic gauche sur "Exporter le fichier de la
base de registres" : donner un nom sans extension dans la fenêtre qui s'ouvre et valider. Le fichier exporté
est archivé automatiquement dans c:windows en recevant l'extension .reg.

- à partir d'une fenêtre Dos ou de "Exécuter" en tapant "regedit /e c:windows(nom).reg".


Pour importer le nouveau fichier .reg, on peut :

- double-cliquer sur le (nom).reg à partir de l'explorateur,

- ouvrir regedit, clic gauche sur "Base de registres", clic gauche sur "Importer le fichier de base
de registres" en indicant le .reg à prendre en compte,

- à partir de "Exécuter" ou d'une fenêtre Dos, en tapant "regedit /c c:windows(nom).reg".

Mais comme j'ai rencontré parfois quelques difficultés dans cette importation, j'utilise un batch très simple
que j'ai appelé RegDat.bat : c:windowsregedit.exe /c c:windowsbase1.reg (base1 étant le nom donné
lors de l'exportation).

A partir de ce .bat j'ai créé un raccourci (donc un fichier pif) que l'on peut mettre sur le bureau après
avoir effectué les corrections suivantes.
Clic droit sur ce raccourci, "Propriétés", volet "Programme", cocher "Fermer en quittant", clic gauche sur
"Paramètres avancés", cocher "Mode MS-DOS et pointer "Utiliser la configuration Ms-Dos actuelle". Valider le tout.

Le raccourci étant réglé de cette façon, le passage sous Dos exclusif se fait avec prise en compte du
dosstart.bat et le retour sous Windows est automatique (redémarrage allégé).

L'importation, en plus de faire "maigrir" (la première fois) la bdr, est intéressante pour réinstaller une
ancienne base après essai de un ou plusieurs logiciels non adoptés. (procédure plus légère qu'ERD/ERU).

--
Amicalement,
Jean Collin



arg !
redémarrer en mode MS-DOS, puis taper
regedit /?

regedit /e "branche" fichier.reg : exporter une branche (toute la BdR si pas de branche spécifiée)
regedit /c fichier.reg : recréer system.dat et user.dat à partir d'un .reg contenant une BdR complete
regedit /d "branche" : supprimer une branche regedit fichier.reg : import d'une branche dans la BdR existante...
regedit /s fichier.reg : import (sous windows uniquement) d'un fichier reg dans la BdR, sans le message
"toto.reg a bien été fusionné dans la BdR"

> Pour importer le nouveau fichier .reg, on peut :
> - double-cliquer sur le (nom).reg à partir de l'explorateur,
> - ouvrir regedit, clic gauche sur "Base de registres", clic gauche
> sur "Importer le fichier de base de registres" en indicant le .reg à prendre
> en compte,
> - à partir de "Exécuter" ou d'une fenêtre Dos, en tapant "regedit /c
> c:windows(nom).reg".

non ! surtout pas regedit /d ou /c depuis windows !
et en plus /c recréé une BdR depuis un fichier reg. donc s'assurer que le .reg
contient bien toute la BdR, sous peine de se retrouver avec un winwin qui ne
marche plus !

> Mais comme j'ai rencontré parfois quelques difficultés dans cette
> importation, j'utilise un batch très simple que j'ai appelé RegDat.bat :
> c:windowsregedit.exe /c c:windowsbase1.reg
> (base1 étant le nom donné lors de l'exportation).

il est fou !
(cf remarque précédente)
Avatar
scraper
Bonjour Michel, dans le message
news:%KZoe.69749$
tu disais :


Ouais la question est interessante et m'a quelquefois dèjà effleuré,
mais n'ayant jamais été au pied du mur je l'ai évité.
Ceci dit je pense que l'on peut lire un fichier.dat ( non utilisé
bien sur ) avec regedit
Alors d'abord recherche tous les parametres et options possible de
regedit. A partir de là tu pourras decharger l'arborescence qui te
convient
dans un fichier .reg A recharger ce fichier .reg

Ci joint un stuff d'echange que j'avis mis de coté sur le sujet à
completer evidemment et bonne chasse.
Pour la technique d'acces aux registre je te propose de jeter un oeil
à mon pgm regtreeview sur http://megaten.alterlinks.fr
tu y trouveras pratiquement tous ce que l'on peut faire dans une bdr.

Bonne chance
Michel



merci :-)

mais à vrai dire, ta proposition ne correspond pas à mon besoin :-(

je recherche la possibilité de charger dans le Registre une ruche (style
ntuser.dat) mais directement depuis le code ...

j'ai trouvé la fonction

Private Declare Function RegLoadKey Lib "advapi32" Alias "RegLoadKeyA" ( _
ByVal hKey As Long, _
ByVal lpSubKey As String, _
ByVal lpFile As String) As Long

qui manifestement sert à ça, mais j'ai un peu de mal à la mettre en place :
ma ruche ne se charge pas ??



merci quand même de ton aide ....




--

Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez.tiscali.fr

scraper
Avatar
Fred
Dans son message
scraper nous dit :

Bonjour Michel, dans le message
news:%KZoe.69749$
tu disais :


Ouais la question est interessante et m'a quelquefois dèjà effleuré,
mais n'ayant jamais été au pied du mur je l'ai évité.
Ceci dit je pense que l'on peut lire un fichier.dat ( non utilisé
bien sur ) avec regedit
Alors d'abord recherche tous les parametres et options possible de
regedit. A partir de là tu pourras decharger l'arborescence qui te
convient
dans un fichier .reg A recharger ce fichier .reg

Ci joint un stuff d'echange que j'avis mis de coté sur le sujet à
completer evidemment et bonne chasse.
Pour la technique d'acces aux registre je te propose de jeter un oeil
à mon pgm regtreeview sur http://megaten.alterlinks.fr
tu y trouveras pratiquement tous ce que l'on peut faire dans une bdr.

Bonne chance
Michel



merci :-)

mais à vrai dire, ta proposition ne correspond pas à mon besoin :-(

je recherche la possibilité de charger dans le Registre une ruche
(style ntuser.dat) mais directement depuis le code ...

j'ai trouvé la fonction

Private Declare Function RegLoadKey Lib "advapi32" Alias
"RegLoadKeyA" ( _ ByVal hKey As Long, _
ByVal lpSubKey As String, _
ByVal lpFile As String) As Long

qui manifestement sert à ça, mais j'ai un peu de mal à la mettre en
place : ma ruche ne se charge pas ??



merci quand même de ton aide ....



Bonsoir,
Tu as trouvé et essayé l'exemple en VB ?

--
Fred
Avatar
scraper
Bonjour Fred, dans le message
news:ef4%
tu disais :

Bonsoir,
Tu as trouvé et essayé l'exemple en VB ?



eh bien non ! :-( en as tu un sous la main ? :-)

mais je me demande si je ne devrai pas plonger dans ce foutu fichier
ntuser.dat, puisque d'après la doc msdn que j'ai lue :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/regloadkey.asp
il faut que ce fichier de Registre ait été sauvegardé par la fonction
RegSaveKey

ce qui n'est évidemment pas le cas, puisque j'essaie de charger un fichier
ntuser.dat qui a été créé par le systeme ;-)

merci de ton aide ....


--

Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez.tiscali.fr

scraper
Avatar
Fred
Dans son message %
scraper nous dit :

Bonjour Fred, dans le message
news:ef4%
tu disais :

Bonsoir,
Tu as trouvé et essayé l'exemple en VB ?



eh bien non ! :-( en as tu un sous la main ? :-)

mais je me demande si je ne devrai pas plonger dans ce foutu fichier
ntuser.dat, puisque d'après la doc msdn que j'ai lue :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/regloadkey.asp
il faut que ce fichier de Registre ait été sauvegardé par la fonction
RegSaveKey

ce qui n'est évidemment pas le cas, puisque j'essaie de charger un
fichier ntuser.dat qui a été créé par le systeme ;-)

merci de ton aide ....



Ben, je n'osais même pas te donner le lien tellement je l'ai trouvé
rapidement en tapant RegLoadKey dans la zone de recherche de la MSDN :-D
http://support.microsoft.com/default.aspx?scid=kb;en-us;297060
D'après l'introduction, cela charge bien un fichier ruche NTUSER.DAT
Pas testé, pas de VB6 à la maison.
Bonne lecture



--
Fred
Avatar
Zoury
> il faut que ce fichier de Registre ait été sauvegardé par la fonction
RegSaveKey

ce qui n'est évidemment pas le cas, puisque j'essaie de charger un fichier
ntuser.dat qui a été créé par le systeme ;-)



AMHA, Windows doit employer RegSaveKey() ... puisque qu'il s'agit de ses
propes APIs.. non ? ;O)

Tu peux nous montrer ton code et nous dire quelle est l'erreur que tu
obtiens ?

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
scraper
Bonjour Fred, dans le message
news:
tu disais :

Ben, je n'osais même pas te donner le lien tellement je l'ai trouvé
rapidement en tapant RegLoadKey dans la zone de recherche de la MSDN



damned !
trop con, je suis :-(
je me fais à gouglou ...

:-D http://support.microsoft.com/default.aspx?scid=kb;en-us;297060
D'après l'introduction, cela charge bien un fichier ruche NTUSER.DAT
Pas testé, pas de VB6 à la maison.



merci, je teste ça rapidos et je te dis ! ;-)


Bonne lecture



--

Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez.tiscali.fr

scraper
Avatar
Michel
scraper a écrit :
Bonjour Fred, dans le message
news:ef4%
tu disais :

Bonsoir,
Tu as trouvé et essayé l'exemple en VB ?




eh bien non ! :-( en as tu un sous la main ? :-)

mais je me demande si je ne devrai pas plonger dans ce foutu fichier
ntuser.dat, puisque d'après la doc msdn que j'ai lue :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/regloadkey.asp

il faut que ce fichier de Registre ait été sauvegardé par la fonction
RegSaveKey

ce qui n'est évidemment pas le cas, puisque j'essaie de charger un
fichier ntuser.dat qui a été créé par le systeme ;-)

merci de ton aide ....




Si tu as la possibilite d'activer ta bdr alors fais un regsave avant le reload pour te mettre dans le bon format.
Avatar
scraper
Bonjour Fred, dans le message
news:
tu disais :


Ben, je n'osais même pas te donner le lien tellement je l'ai trouvé
rapidement en tapant RegLoadKey dans la zone de recherche de la MSDN
:-D http://support.microsoft.com/default.aspx?scid=kb;en-us;297060
D'après l'introduction, cela charge bien un fichier ruche NTUSER.DAT
Pas testé, pas de VB6 à la maison.
Bonne lecture



ben petits problèmes quand même :
avant de m'aventurer à modifier le code, je l'ai testé tel que, sur un
fichier ntuser non chargé au démarrage de mon systeme...

pas moyen de charger la ruche ! :-(

j'ai bien la clé "keyLoaded" qui est créée, mais elle est vide ...

en outre, quand je veux fermer le projet, et donc décharger la ruche, j'ai
un message d'erreur ...
(RegUnloadKey:87)

et impossible de supprimer manuellement la clé dans le Registre ...

voila, c'est pas brillant :-(




--

Adresse invalide
Merci de répondre sur le forum ...
http://scraper.chez.tiscali.fr

scraper
Avatar
Fred
"scraper" a écrit dans le message de
news:
Bonjour Fred, dans le message
news:
tu disais :


> Ben, je n'osais même pas te donner le lien tellement je l'ai trouvé
> rapidement en tapant RegLoadKey dans la zone de recherche de la MSDN
> :-D http://support.microsoft.com/default.aspx?scid=kb;en-us;297060
> D'après l'introduction, cela charge bien un fichier ruche NTUSER.DAT
> Pas testé, pas de VB6 à la maison.
> Bonne lecture

ben petits problèmes quand même :
avant de m'aventurer à modifier le code, je l'ai testé tel que, sur un
fichier ntuser non chargé au démarrage de mon systeme...

pas moyen de charger la ruche ! :-(

j'ai bien la clé "keyLoaded" qui est créée, mais elle est vide ...

en outre, quand je veux fermer le projet, et donc décharger la ruche, j'ai
un message d'erreur ...
(RegUnloadKey:87)

et impossible de supprimer manuellement la clé dans le Registre ...

voila, c'est pas brillant :-(



Bonjour,
Je viens de tester le code du lien sans problème.
Petite précision et qui doit avoir son importance : je suis sous Windows
2000 !
Effectivement, en relisant la page attentivement, il est précisé que la
procédure est donné pour NT4 ou 2000.
Désolé de na pas l'avoir fait avant !
Effectivement, il y a des différences dans la clé HK_USERS sous XP (je crois
qu'on l'avait évoqué dans un autre fil avec Luc Burnouf). Cela vient
probablement de là.
En ce qui concerne ton registre, as-tu essayé de régler les autorisations
pour supprimer la nouvelle clé ?
Je vais regarder si je trouve autre chose pour XP. Il n'y a pas de raisons.
1 2 3