嘿,我想使用 Windows 环境变量作为注册表项的值。不幸的是我不能简单地写一些像%systemroot%\system32\MyScreensaver.scr
.
正如您所猜测的,我想将一些注册表值指向我自己的应用程序,例如自动启动和屏幕保护程序以及其他一些东西。
有任何想法吗?
Windows 注册表本身支持此功能REG_EXPAND_SZ
注册表值类型。
只需使用REG_EXPAND_SZ
代替REG_SZ
当您想要在注册表项值中嵌入环境变量时。
下面是一个 C# 代码访问 a 的示例REG_EXPAND_SZ
并且扩展是自动处理的:
var registry = Registry.CurrentUser.OpenSubKey("Environment");
var temp = registry.GetValue("TEMP") as string;
以下是创建可扩展注册表值的示例:
registry.SetValue("TEMP", @"%USERPROFILE%\AppData\Local\Temp", RegistryValueKind.ExpandString);
其他平台或脚本语言有其他机制来支持这一点。这是 Win32 的低级描述REG_EXPAND_SZ
:
-
注册表值类型 http://msdn.microsoft.com/en-us/library/ms724884%28v=vs.85%29.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)