Si je change hkey_current_user/environment/path dans le registre, get-env "PATH" ne reflète pas la nouvelle valeur sauf si je ferme la console rebol et la ré-ouvre.comment obtenir get-env refresh dans rebol?
Répondre
Environment variables ne sont pas les mêmes choses que Registry Keys.
Windows consulte des clés de registre particulières lorsqu'il configure l'environnement par défaut d'un programme lorsqu'il se lance à partir du shell. Cependant, le modifier n'injectera pas ces valeurs dans les environnements des processus déjà en cours d'exécution (dans Rebol ou tout autre programme). Inversement, si vous définissez des éléments dans l'environnement d'un programme en cours d'exécution, vous ne verrez pas ces changements reflétés dans le registre.
Si vous voulez lire les valeurs de registre, il y a une API pour que:
http://www.rebol.com/docs/sdk/registry.html
MAIS tort ou à raison: il est généralement admis (sur chaque plate-forme que je l'ai utilisé) que l'on doit quitter un programme et le redémarrer afin d'actualiser les variables d'environnement à partir des paramètres du système. Si vous essayez de contourner cela, vous risquez de causer plus de complexité et de confusion qu'autre chose.
J'ai essayé avec le chemin d'ensemble de dos, vous avez raison, il ne rafraîchit pas :( mais ne pouvait pas reboliser être plus intelligent que MS et vraiment lire directement à partir du registre;) –
SDK est super mais c'est un peu basique besoins qui devraient être dans la version rebol standard. –
Je suis sûr que l'interfaçage avec les variables d'environnement et le registre "meilleur" que les autres applications n'est pas une priorité. Dans la mesure où les Rebolers veulent réimaginer comment ces types de problèmes sont résolus, ils le feraient dans un système où la base de données clé/valeur est stockée nativement en tant qu'objets Rebol ... le code pour les manipuler Rebol, etc – HostileFork