Convertir un AnsiString en Hkey
Bonsoir :D
J'ai encore un petit soucis (le dernier ? non... mais bon, y en a des moins en moins).
J'ai un AnsiString :
Code:
AnsiString TouteLaChaine = "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\ComputerName";
Je regarde quel est le 1er élément (ici "HKey_Local_Machine") :
Code:
1 2
| int t= TouteLaChaine.Pos("\\");
BaseDeLaChaine = TouteLaChaine.SubString(1,t-1); |
J'ai donc en retour une AnsiString :
Code:
BaseDeLaChaine = "HKEY_LOCAL_MACHINE"
Mais vu que c'est pour utiliser dans :
Code:
registreMachineDistante->RootKey = hkey;
J'ai une erreur si je fait :
Code:
registreMachineDistante->RootKey = BaseDeLaChaine;
Normal vu qu'il s'attend à un Hkey et que je lui file une AnsiString.
Je comprend bien mon erreur mais je trouve pas la solution :-(
J'ai trouvé une alternative qui consiste à faire :
Code:
1 2 3 4 5 6 7
| if (BaseDeLaChaine=="HKEY_CLASSES_ROOT") {
hkey = HKEY_CLASSES_ROOT;
}
if (BaseDeLaChaine=="HKEY_LOCAL_MACHINE") {
hkey = HKEY_LOCAL_MACHINE;
}
... |
Mais c'est pas propre je trouve...
Y aurait 'il moyen de convertir mon AnsiString en Hkey svp ?
Merci grandement pour votre aide :D :bug:
(je sais pas si il faut préciser : Borland 2006)