Você precisa transmitir o < href="http://msdn.microsoft.com/en-gb/library/ms725497(VS.85).aspx" title="Mensagem WM_SETTINGCHANGE"> Mensagem WM_SETTINGCHANGE .
Lembre-se: na verdade, você não está definindo nenhuma variável de ambiente de qualquer forma ao modificar o registro. As variáveis de ambiente fazem parte do espaço de memória de cada processo individual, com cada processo tendo seu próprio conjunto. Eles não vivem no registro. Você está mudando um template . Você precisa persuadir os programas que definem as variáveis de ambiente real para reler o modelo e definir seus ambientes de acordo. Você faz isso transmitindo uma mensagem do Windows que informa a todas as partes interessadas que o modelo no registro foi alterado. O Microsoft Windows Explorer é uma dessas partes interessadas e modifica suas próprias variáveis de ambiente sempre que ouvir que o modelo foi alterado. Essas modificações são então herdadas da maneira normal por qualquer novo processo gerado pelo Explorer.