Ecrire dans la base de registre [C++] - Programmation
Marsh Posté le 15-07-2001 à 11:00:37
en C++Builder y a un composant TRegistry facile à utiliser mais je suppose que tu n'utilises pas C++Builder...
Marsh Posté le 15-07-2001 à 11:14:58
Avant d'utiliser le RegSetValue(), il faut d'abord créer une clé avec RegCreateKey(), et ensuite tu passes le Handle de ta clé comme paramètre à RegSetValue.
Voilà un exemple :
HKEY hKey;
RegCreateKeyEx(
HKEY_CURRENT_USER, // handle to an open key
"Software\\MonProg", // address of subkey name
0, // reserved
NULL, // address of class string
REG_OPTION_NON_VOLATILE,// special options flag
KEY_ALL_ACCESS, // desired security access
NULL, // address of key security structure
&hKey, // address of buffer for opened handle
NULL); // address of disposition value buffer
RegSetValue(hKey, "Setup", REG_SZ, "Setup.exe", 255);
Je pense que ça devrait t'aider un minimum
Marsh Posté le 15-07-2001 à 20:49:35
Ca marche presque !
Voila ce que je souhaite :
Nom Données
...
Software
MonProg "Setup" "Setup.exe"
et non ce que le code me fait :
...
Software
MonProg
Setup (Défaut) "Setup.exe"
Merci
Marsh Posté le 16-07-2001 à 13:33:32
hello ..
moi je cherche à lire une valeur dans la base de registre ...
comment faut il s'y prendre ?
reponse pour l'ecriture :
// Creation de la clé
hKey = 0;
hr = RegCreateKey(HKEY_LOCAL_MACHINE,
_T("SOFTWARE\\DivXManage" ),
&hKey);
if (hr == ERROR_SUCCESS)
{
RegSetValueEx(hKey,
lpszName,
0,
REG_SZ,
(const BYTE*)DataBasePath,
strlen(DataBasePath));
}
Marsh Posté le 16-07-2001 à 15:59:20
En fait je ne souhaite pas créer une nouvelle clé, mais écrire dans une clé existante une nouvelle valeur chaîne et affecter des données à cette valeur.
(comme sur mon schéma ci-dessus)
Marsh Posté le 15-07-2001 à 09:49:08
Comment faire l'équivalent de ce .reg lorsque l'on l'éxécute en C++ ?
***
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\MonProg]
"Setup"="Setup.exe"
***
Je n'ai pas réussi à utiliser la fonction RegSetValueEx();