使用 Windows(例如 10,但我希望这没关系),是否存在任何类型的环境变量,其生命期随着创建该变量的用户会话而结束?
我说的是一个简单的程序(例如.NET 程序)可以用来在关闭之前存储一个值,这样如果在用户注销 Windows 之前再次启动该程序,就可以恢复该值;如果用户注销 Windows,登录并启动该程序,则该变量将不再可用。
要求:
- 我正在寻找一个操作系统功能,而不是我必须直接管理的东西,除非在新的 Windows 会话中启动程序时创建它
- 基于文件的机制也可以
- 我不希望上述程序潜伏在内存中并保存变量,我想终止该程序并仍然保留 Windows 中的变量
- 如果变量被加密,那就更好了
答案1
注册表项“HKCU\Volatile Environment”似乎可以执行您想要的操作,尽管我没有找到有关此功能的任何文档。
我测试了以下内容(在管理员CMD,Windows 10中):
> reg query "HKCU\Volatile Environment" /v MYVOLATILEVAR
ERROR: The system was unable to find the specified registry key or value.
> reg add "HKCU\Volatile Environment" /v MYVOLATILEVAR /t REG_SZ /d avalue
The operation completed successfully.
> reg query "HKCU\Volatile Environment" /v MYVOLATILEVAR
HKEY_CURRENT_USER\Volatile Environment
MYVOLATILEVAR REG_SZ avalue
在退出 cmd 并锁定屏幕后该值仍然保留,但在注销后消失。
reg 命令:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/reg
在页面的评论中发现了测试密钥“HKCU\Volatile Environment”的想法https://ss64.com/nt/syntax-variables.html