[英]Is there anything like Environment.SpecialFolder but for registry paths
我想在注册表中存储一些应用程序信息,我不知道我应该在哪里存储它。 我希望信息适用于所有用户,因此我不会使用HKEY_CURRENT_USER。 也许HKEY_LOCAL_MACHINE然后我不知道在哪里。 我不知道这个的标准是什么,比如Environment.SpecialFolder
但对于注册表路径或文件夹来说会更安全,更优雅。
检查Microsoft.Win32.Registry对象。 在那里,您可以找到一些表示常见注册表路径的对象,例如:
例如,如果要访问HKEY_CURRENT_USER:
Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names");
key.SetValue("Name", "Isabella");
key.Close();
不 - 与文件系统不同,不需要这样的方法,因为注册表有一些标准化的位置。
您应该按照以下格式将数据存储在密钥中:
HKEY_HIVE\\SOFTWARE\\Publisher\\Program
例如:
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows
如果您需要数据是整个机器的全局数据,请将您的内容放在HKEY_LOCAL_MACHINE
,但请注意,写入此位置将需要管理权限,除非您修改密钥上的DACL以使其行为不同(在某种形式的安装程序或类似的情况下) )。
如果您要存储每个用户数据( 提示 - 大多数数据是每个用户),那么您应该将东西放在HKEY_CURRENT_USER
,这样做的好处是该用户无需访问其配置单元的特殊权限(默认情况下)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.