基于设置为注册表的位值
本文关键字:注册表 于设置 设置 | 更新日期: 2023-09-27 18:36:59
我的情况/问题的目标是我想将我的getValue的值设置为注册表中的目标。我对get/sets不太熟悉,所以任何帮助都会很棒。如果您需要我提供任何其他内容,请告诉我。
namespace RegistrySetter
{
public class Ironman : CodeActivity
{
public InArgument<string> keypath { get; set; }
public OutArgument<string> TextOut { get; set; }
protected override void Execute(CodeActivityContext context)
{
string KeyPath = this.keypath.Get(context);
context.SetValue<string>(this.TextOut, KeyPath);
}
}
}
要获取注册表值,您可能会使用 Registry.GetValue
.您只需要使用上下文来设置输出参数。
举个例子:
using System;
using System.Activities;
using Microsoft.Win32;
using System.IO;
public class GetRegistryValue : CodeActivity
{
[RequiredArgument]
public InArgument<string> KeyPath { get; set; }
public OutArgument<string> TextOut { get; set; }
protected override void Execute(CodeActivityContext context)
{
string keyPath = this.KeyPath.Get(context);
string keyName = Path.GetDirectoryName(keyPath);
string valueName = Path.GetFileName(keyPath);
object value = Registry.GetValue(keyName, valueName, "");
context.SetValue(this.TextOut, value.ToString());
}
}
这里 KeyPath 是这样的:HKEY_CURRENT_USER'Software'7-Zip'Path
其中Path
实际上是值名,HKEY_CURRENT_USER'Software'7-Zip
是键名。如果要设置注册表值,请查看Registry.SetValue
。