【问题标题】:Set environment variables from Delphi (Win32)从 Delphi (Win32) 设置环境变量
【发布时间】:2010-11-03 19:07:06
【问题描述】:

我正在尝试从我的 delphi 应用程序中设置系统范围的环境变量。文档说要向 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment 添加一个注册表项,然后广播 WM_SETTINGCHANGE 消息。有谁知道如何广播这条消息?

附言。我正在尝试在控制台应用程序中执行此操作。

【问题讨论】:

    标签: delphi environment-variables


    【解决方案1】:

    致电SendMessage。使用HWnd_Broadcast 作为目标窗口。

    更好的选择可能是SendNotifyMessage,它不会等待所有收件人返回。

    【讨论】:

      【解决方案2】:

      Embarcadero 开发者网络中也有一个主题涵盖此问题并提供用于发送消息的示例代码。作者使用SendMessageTimeout,正如MSDN 文档中推荐的WM_SETTINGCHANGE

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

      【讨论】:

      • 我使用了链接文章中的代码。我发现使用 Reg.WriteString 在环境中设置路径是错误的,它应该使用 Reg.WriteExpandString
      猜你喜欢
      • 2014-12-17
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-13
      • 2019-08-01
      • 1970-01-01
      • 2014-01-29
      相关资源
      最近更新 更多