从注册表中的值获取数据[C#]
我的程序在注册表中包含相当多的值,获取这些值的名称一点问题都没有;真正的问题是从这些特定值获取数据 这是我的一段代码。假设“paths.mainKey”是“HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node”。还假设“paths.subKey”是“HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Razer Chroma SDK”(显然不是我的密钥,仅以它为例) 有人知道如何获取这些数据吗?您可以使用:从注册表中的值获取数据[C#],c#,registry,C#,Registry,我的程序在注册表中包含相当多的值,获取这些值的名称一点问题都没有;真正的问题是从这些特定值获取数据 这是我的一段代码。假设“paths.mainKey”是“HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node”。还假设“paths.subKey”是“HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Razer Chroma SDK”(显然不是我的密钥,仅以它为例) 有人知道如何获取这些数据吗?您可以使用: 如何获取这些值是一个问题?您是否
如何获取这些值是一个问题?您是否使用了
GetValue()
方法?您删除了关于电脑关机与笔记本电脑关机的问题。我正要向您建议一种不同的确定时间的方法-试试这个:DateTime.ParseExact(time\u START\u time,“htt”,CultureInfo.InvariantCulture)。time of day
@Enigmativity我很感谢您的建议,但是,我找到了问题的解决方案;当我将时间从注册时间转换为军事时间时,我没有添加时间为“上午12点”的案例。我的代码的工作方式,这意味着它改为12点,使代码的重新启动块无法执行,因为条件不满足。@MTS11648-啊,所以我上面的代码也解决了这个问题。好东西。如果你找到了答案,你不应该删除你的问题-你应该回答你自己的问题。我不知道这么简单。谢谢
private void ReadRegistry()
{
string[] allSubKeys = Registry.LocalMachine.OpenSubKey(paths.mainKey).GetSubKeyNames();
if (allSubKeys.Contains("Razer Chroma SDK"))
{
string[] allDayPolicies = Registry.LocalMachine.OpenSubKey(paths.subKey).GetValueNames();
foreach (string value in allDayPolicies)
{
//Read data from the values?
}
}
}
private void ReadRegistry()
{
string[] allSubKeys = Registry.LocalMachine.OpenSubKey(paths.mainKey).GetSubKeyNames();
if (allSubKeys.Contains("Razer Chroma SDK"))
{
var subKey = Registry.LocalMachine.OpenSubKey(paths.subKey);
string[] allDayPolicies = subKey.GetValueNames();
foreach (string name in allDayPolicies)
{
var value = subKey.GetValue(name);
// do something with value
}
}
}