Salut tous,

Je programme actuellement en C# sur une machine embarqué. Je souhaite modifier la valeurs des clés suivante se trouvant dans le dossier HKEY_LOCAL_MACHINE :
  • EnableDHCP
  • IpAddress
  • DhcpIPAddress
  • Subnetmask
  • DhcpSubnetMask


Pour se faire, j'utilise la fonction Registry.SetValue (Registry.SetValue).

Le problème est le suivant :
Cela ne marche pas. Je m'explique , lorsque la fonction est appelé, elle ne modifie pas la valeur des clés.
J'ai utilisé la fonction Registry.getValue (Registry.GetValue)
J'ai fais les vérifications suivantes :
  • Le chemin d'accès est bon
  • L'existence de la clé
  • la valeur assignée est bonne


Cependant en appelant la fonction System.Threading.Thread.Sleep() avec comme argument 15000 ( 15 sec) après l'appel de la fonction Registry.SetValue, la modification est effectuée.

Ce que je ne comprends pas c'est pourquoi la fonction Registry.SetValue s’exécute correctement en présence de la fonction sleep ?