gpt4 book ai didi

C# Reg_Binary 和 BATCH

转载 作者:行者123 更新时间:2023-11-30 21:34:00 25 4
gpt4 key购买 nike

我是 BATCH 粉丝,我正在尝试使用 C# winForms 而不是批处理来实现我的 key 。

我做了一个简单的批处理脚本:

@echo off
reg add "HKEY_CURRENT_USER\Software\TestProgram\Kool" /f /v "Setting" /t REG_BINARY /d h4h999d27e93f3666188231a018c9d44406136wb 1>nul 2>&1

无需担心更新我的注册码。但是,我想尝试使用 C# WinForms 实现相同的结果,我相信我有正确的公式,但结果不正确。

我尝试了以下操作(在先检查 reg_binary 是否存在并先删除它之后):

    private void button1_Click(object sender, EventArgs e)
{
if (Registry.GetValue(@"HKEY_CURRENT_USER\Software\TestProgram\Kool", "Setting", null) == null)
{
RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\TestProgram\Kool");
try
{
var data = Encoding.Unicode.GetBytes("h4h999d27e93f3666188231a018c9d44406136wb");
//Storing the values
key.SetValue("Setting", data, RegistryValueKind.Binary);
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
MessageBox.Show(exc.StackTrace);
}
key.Close();

MessageBox.Show("binary key created");
}
else
{
MessageBox.Show("error");
}
}

这让 key 不用担心,但它的格式或结果与我通过批处理获得的格式或结果不同,有人可以向我解释为什么吗?我追求的结果与我使用批处理文件时的结果相同。

我觉得我错过了一些简单的东西,也许它的字节不正确,我似乎无法解决。

我已阅读这些内容以寻求帮助: Write a Stringformated Hex Block to registry in Binary value How to retrieve a REG_BINARY value from registry and convert to string How can I read binary data from registry to byte array Read Registry_binary and convert to string

但还是没有成功。

最佳答案

要创建二进制 key ,您需要传递一个byte[]。所以你应该先将十六进制字符串转换为字节数组,然后添加值。

例如:

var path = @"Software\TestProgram\Kool";
var key = Registry.CurrentUser.OpenSubKey(path, true);
if (key == null)
key = Registry.CurrentUser.CreateSubKey(path, true);
var hex = "d5d000d27e93f3116100224a018c9d00406136c3";
var value = StringToByteArray(hex);
key.SetValue("Setting", value, RegistryValueKind.Binary);

我使用了 JaredPar 在 this post 中分享的 StringToByteArray 方法:

public static byte[] StringToByteArray(string hex) {
return Enumerable.Range(0, hex.Length)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
.ToArray();
}

关于C# Reg_Binary 和 BATCH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50791385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com