我需要创建一个注册表项的基础上查找32/64位系统从蛋糕脚本。我可以在C#蛋糕站点上看到文件操作参考,目录操作参考。但我在C#蛋糕中找不到注册表相关的引用。有没有人可以让我知道有没有使用C#蛋糕创建注册表项的选项?如果是,请指定引用链接。这将对我继续编写蛋糕脚本有很大帮助。
发布于 2016-11-09 16:35:49
除了使用C#之外,您还可以使用所有主要版本附带的Reg.exe。
您可以将此工具与使用StartProcess别名的蛋糕一起使用。
下面是这样做的一个示例:
DirectoryPath system32Path = Context.Environment
.GetSpecialPath(SpecialPath.Windows)
.Combine("System32");
FilePath regPath = system32Path.CombineWithFilePath("reg.exe");
string keyName = "HKEY_CURRENT_USER\\Software\\Cake";
string valueName = "Rocks";
string valueData = "1";
ProcessSettings regSettings = new ProcessSettings()
.WithArguments(
arguments => arguments
.Append("add")
.AppendQuoted(keyName)
.Append("/f")
.AppendSwitchQuoted("/v", valueName)
.AppendSwitchQuoted("/t", "REG_DWORD")
.AppendSwitchQuoted("/d", valueData)
);
int result = StartProcess(regPath, regSettings);
if (result == 0)
{
Information("Registry value successfully set");
}
else
{
Information("Failed to set registry value");
}发布于 2016-11-09 15:18:24
目前,没有使用注册表的Cake别名。话虽如此,没有什么可以阻止您使用标准的C#类型直接操作注册表。
下面是一个这样的方法的示例:
Writing to registry in a C# application
Cake为更复杂的事情提供了许多别名,但是,请记住,别名中提供的几乎所有内容都可以直接在主脚本中使用C#完成。别名只是为了方便起见而存在。
https://stackoverflow.com/questions/40501080
复制相似问题