comment lire,et ecrire dans la base de registre
bonjour tout le monde
bon je suit debutant en c++, et j'aimerai créer une application qui peux lire et ecrire, modifier la base de registre.
j'ai bon chercher un article ou un tutoriel sur le net mais j'ai rien trouvé :(
si quelqu'un a un bout de code avec des explications, ca va trop m'aider svp.
message d'erreur C2664 ?!!
bonsoir.
merci pour le lien, et on essayons j'ai eu pas mal de messages d'erreur que je comprend pas leurs provenances :
Code:
1 2
|
Error 1 error C2664: 'RegCreateKeyExW' : cannot convert parameter 2 from 'const char [20]' to 'LPCWSTR' f:\tmp\test\test1\test1\test1.cpp 22 test1 |
avec mon code personnalisé
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
HKEY reg_key;
char s[100] = "test123";
RegCreateKeyEx( HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, NULL, 0, KEY_ALL_ACCESS, NULL,
®_key, NULL );
RegSetValueEx(reg_key, "index", 0, REG_SZ, (LPBYTE)s, (DWORD)strlen(s));
RegCloseKey(reg_key);
getche(); |
et j'ai du tapé le méme code méme, toujours la méme chose :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include <windows.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
HKEY Developpez;
char s[100] = "http://www.developpez.com/";
RegCreateKeyEx( HKEY_CURRENT_USER, "Software\\Developpez", 0, NULL, 0, KEY_ALL_ACCESS, NULL,
&Developpez, NULL );
RegSetValueEx(Developpez, "index", 0, REG_SZ, (LPBYTE)s, (DWORD)strlen(s));
RegCloseKey(Developpez);
return 0;
} |
j'ai aussi changé le type char en string suite a se que j'ai déduit j'ai d'autre méssages d'erreurs encore pire "Error 1 error C2075: 's' : array initialization needs curly braces f:\tmp\test\test1\test1\test1.cpp 14 test1"
donc si quelqu'un peux m'éclaircir un peut svp :roll:
j'utilise Visual Studio .NET 2008 C++
merci, mais il reste un point de détaille
bonsoir,
bon je vous remercie pour l'explication, et le le code ca marche, c'est juste qu'il y a un un petit soucie, c'est que la valeur enregistré sur la clé ne dépasse pas 16 caractères alors que la valeurs que j'ai inséré et plus long
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
HKEY Developpez;
TCHAR s[] = TEXT("c:\\WINDOWS\\system32\\debug.exe");
RegCreateKeyEx( HKEY_CURRENT_USER, TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, NULL, 0, KEY_ALL_ACCESS, NULL,
&Developpez, NULL );
RegSetValueEx(Developpez, TEXT("debug"), 0, REG_SZ, (LPBYTE)s, (DWORD)sizeof(s)/sizeof(s[0]));
RegCloseKey(Developpez);
getche();
return 0; |
sur la base de registre j'ai plutôt cette valeur :
c:\WINDOWS\syst
quand je change un paramètre, j'ai automatiquement une erreur :(