我想从我的delphi应用程序中设置系统范围的环境变量。该文档说将一个注册表项添加到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment,然后广播WM_SETTINGCHANGE消息。任何人都知道如何广播此消息?从Delphi(Win32)设置环境变量
PS。我试图在控制台应用程序中执行此操作。
我想从我的delphi应用程序中设置系统范围的环境变量。该文档说将一个注册表项添加到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment,然后广播WM_SETTINGCHANGE消息。任何人都知道如何广播此消息?从Delphi(Win32)设置环境变量
PS。我试图在控制台应用程序中执行此操作。
Embarcadero开发者网络中还有一个主题涵盖了这个问题,并提供了发送消息的示例代码。笔者采用SendMessageTimeout如MSDN文档推荐WM_SETTINGCHANGE:
致电SendMessage
。使用HWnd_Broadcast
作为目标窗口。
更好的选项可能是SendNotifyMessage
,它不会等待所有收件人返回。
我使用链接的文章的代码。我发现使用Reg.WriteString IS WRONG在环境中设置Path时,应该使用Reg.WriteExpandString – BennyBechDk 2010-11-26 12:13:13