gpt4 book ai didi

delphi - 如何更改环境变量并让其他应用程序在不注销的情况下看到该值?

转载 作者:行者123 更新时间:2023-12-03 19:07:05 30 4
gpt4 key购买 nike

我在Windows7 64位计算机上使用Delphi 10 Seattle。

这是问题所在:

为了为我的软件创建测试环境,我创建了一个小应用程序,将环境变量添加到Windows注册表下,

HKEY_CURRENT_USER\Environment


我在包和主项目的搜索路径中使用这些变量,以便能够将项目设置提交到源代码管理中,并轻松地从生产切换到测试分支等。

现在的问题是,在创建环境变量之后,Delphi不会在以下位置更新其“内部系统变量存储”

Tools --> Options --> Environment Variables


并且该项目无法编译。

甚至重新启动Delphi也没有达到预期的效果。
为了使其正常运行,我不得不完全重新启动Windows。

有没有一种方法可以在我的应用程序中更新Delphi中的系统变量?
我还有其他东西吗?

非常感谢!

最佳答案

我正在this blog post中所述的Path Compressor中执行类似的操作。相关方法是这一方法:

procedure TPathCompressor.NotifyChanges;
{ Sending a WM_SETTINGCHANGE message to all top level windows. Otherwise the new environment variables
will only be visible after logoff/logon. }
begin
{$IFDEF DEBUG}
Exit;
{$ENDIF}
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, NativeInt(PChar('Environment')), SMTO_ABORTIFHUNG, 5000, nil);
end;

关于delphi - 如何更改环境变量并让其他应用程序在不注销的情况下看到该值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37593507/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com