Bonjour d'un débutant en C++
Voila j'arrive pas à convertire un char en LPCSTR
Voici la parti du code ki me pose pb :
...
void LitTexte(HKEY HK,char* cle,char* nom,char* valeur,unsigned long taille)
{
HKEY Retour;
unsigned long type;
RegOpenKeyEx(HK,cle,0,KEY_ALL_ACCESS,&Retour);
RegQueryValueEx( Retour,nom,NULL,&type,(unsigned char *)valeur,&taille);
RegCloseKey(Retour);
}
void killer()
{
MessageBox(NULL, "blabla", "Unhandled Exception", MB_OK | MB_ICONERROR);
exit(-1);
}
static int Run(LPTSTR /*lpstrCmdLine*/ NULL, int nCmdShow SW_SHOWDEFAULT)
{
if(Util::getOsVersion()=="WinXP Pro SP1") {
char valeur[14];
LitTexte(HKEY_LOCAL_MACHINE,"SOFTWARE\\test","InstallPath",valeur,14);
MessageBox(NULL, &valeur, "test", MB_OK | MB_ICONINFORMATION);
}
else {
killer();
}
...
mm en ulisant la fonction .c_str() comme suis
MessageBox(NULL, &valeur.c_str(), "test", MB_OK | MB_ICONINFORMATION);
Le compileur me retourne encore une erreur.
Ou peut être ke j'utilise pas le bon code pour lire la base de registre.
le message box c'était juste pour verifier ce ke sa donne.
M'enfin je voudrai bien savoir kan mm comment sa marche.
Ce ke je veut c'est faire kelke chose komme sa ensuite dite moi si c'est bon (a la place du message box en faite):
if(valeur=="12889-454-4464-466-54664") {
....
Ce que je faire en definitif c'est excuté un bout de code ke si la valeur d'une clef corespond a se ke j'atend.
J'espére avoir été clair.
Merci de vos reponses
PS : J'utlise VC++ 7.1