我的問題是,當我使用Registry.SetValue時,我只希望它更新現有值。如果輸入的值名稱不存在,我不想創建它。我有用戶輸入的可變數據,所以我無法在我的代碼中硬編碼路徑。c#僅在註冊表值名稱已存在的情況下設置新的註冊表值
我爲我設置
public class SetRegistryValue : CodeActivity
{
[RequiredArgument]
public InArgument<string> kpath { get; set; }
public InArgument<string> txtName { get; set; }
[RequiredArgument]
public InArgument<string> kvaluename { get; set; }
[RequiredArgument]
public InArgument<string> kvalue { get; set; }
//This will set the value of an key that is defined by user
protected override void Execute(CodeActivityContext context)
{
string KeyPath = this.kpath.Get(context);
string KeyValueName = this.kvaluename.Get(context);
string KeyValue = this.kvalue.Get(context);
string KeyName = Path.GetDirectoryName(KeyPath);
string KeyFileName = Path.GetFileName(KeyPath);
string fullKeyPath = KeyName + "\\" + KeyFileName;
Registry.SetValue(fullKeyPath, KeyValueName, KeyValue, RegistryValueKind.String);
}
}
當然,我們會幫助你,請你清楚說明你想要的。如果可能,請提供一些例子。 –
@sudhakar像授予說bellow我想獲得價值的名稱值。我想查看註冊表中的值名稱,如果它在那裏將值更改爲活動中提供的任何新值。但是,如果值名稱不在路徑中,請不要執行setvalue。 – Brandon