遇到了问题。有WF,它有一部分代码用于保存注册表中的值:
using (RegistryKey rk = Registry.CurrentUser.CreateSubKey(@"Software\Test"))
{
rk.SetValue("language", path);
}
同样,我读取了值,在这个阶段一切都在嗡嗡作响:
using (RegistryKey rk = Registry.CurrentUser.CreateSubKey(@"Software\Test"))
{
string path = rk.GetValue("language", "").ToString();
}
但是我试图从我写的 SERVICE 中读取给定的值——什么都没有,什么也没有读取。告诉我,从服务读取注册表时是否有任何细微差别?在哪里寻找错误,它是什么?
Registry.CurrentUser返回当前用户的分支。如果服务是在system账户下运行的,则返回用户System对应的分支。根据情况,您可以尝试:
Registry.LocalMachine- 可能需要额外的权限;Registry.Users——用户和服务的并行操作会出现问题;