2009-06-17 7 views
2

J'essaie de définir une variable d'environnement à l'échelle du système à partir de mon application Delphi. La documentation indique d'ajouter une clé de Registre à HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environnement, puis diffuser un message WM_SETTINGCHANGE. Quelqu'un sait comment diffuser ce message?Définir des variables d'environnement à partir de Delphi (Win32)

PS. J'essaye de faire ceci dans une application de console.

Répondre

1

Il existe également un sujet dans le réseau de développeurs Embarcadero couvrant ce problème et fournissant un exemple de code pour l'envoi du message. L'auteur utilise SendMessageTimeout comme recommandé dans le doc MSDN pour WM_SETTINGCHANGE:

http://edn.embarcadero.com/article/28254

+1

J'ai utilisé le code de l'article lié. J'ai trouvé que définir le chemin dans l'environnement en utilisant Reg.WriteString est incorrect, il devrait utiliser Reg.WriteExpandString – BennyBechDk

5

Appelez SendMessage. Utilisez HWnd_Broadcast comme fenêtre cible.

Une meilleure option peut être SendNotifyMessage, ce qui n'attend pas que tous les destinataires retournent.

Questions connexes