C#操作注册表二进制数据
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
using System; using System.Text; using System.Windows.Forms; using Microsoft.Win32; namespace WindowsFormsApplication4 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public static byte[] HexStringToByteArray(String hexString) { int start = 0; if (hexString[0] == ''0'' && (hexString[1] == ''x'' || hexString[1] == ''X'')) start = 2; byte[] bytes = new byte[(hexString.Length - start) / 2]; for (int i = start, len = hexString.Length; i < len; i += 2) bytes[i / 2] = Convert.ToByte(hexString.Substring(i, 2), 16); return bytes; } private void button1_Click(object sender, EventArgs e) { //打开注册表 修改键值 RegistryKey key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\ORL\WinVNC3", true); var str = "bab3aefe 0f1125fb"; var bytes = HexStringToByteArray(str.Replace(" ", "")); try { //byte[] array = (byte[])key.GetValue("Password");//获取Password值的字节数组 //string decoded = System.Text.Encoding.UTF8.GetString(array);//将字节数组转换成字符串 //decoded = decoded.Replace("\0", String.Empty);//由于将字节数组转换成字符串的过程中,一般会包含\0字符,所以要将它替换成空字符串,否则显示会有问题 //textBox1.Text = decoded; //byte[] bytes = (byte[])key.GetValue("Password"); //if (bytes == null || bytes.Length < 3) //{ key.SetValue("Password", bytes, RegistryValueKind.Binary); //} } catch { } MessageBox.Show("ok"); } } } 该文章在 2017/5/2 22:56:46 编辑过 |
关键字查询
相关文章
正在查询... |