首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

用 Visual C# 建立修改登錄資訊完整程式碼 (下)

     編輯:關於C語言

完整可執行程式碼 reg.cs,示範登錄讀取、建立主鍵/子鍵、設定/重命名鍵值:

using System;
using System.Windows.Forms;
using Microsoft.Win32;

public class Form1 : Form {
    private ListBox listBox1;
    private Button btnRead, btnCreateSub, btnCreateMain, btnRename;

    public Form1() { InitializeComponent(); }

    private void InitializeComponent() {
        // 控制項初始化與版面配置略...
        btnRead.Click += btnRead_Click;
        btnCreateSub.Click += btnCreateSub_Click;
        btnCreateMain.Click += btnCreateMain_Click;
        btnRename.Click += btnRename_Click;
    }

    private void btnRead_Click(object sender, EventArgs e) {
        listBox1.Items.Clear();
        using (var hklm = Registry.LocalMachine)
        using (var hw = hklm.OpenSubKey("HARDWARE")) {
            foreach (var sk in hw.GetSubKeyNames()) {
                listBox1.Items.Add(sk);
                using (var skKey = hw.OpenSubKey(sk))
                    foreach (var vn in skKey.GetValueNames())
                        listBox1.Items.Add($"  {vn}: {skKey.GetValue(vn)}");
            }
        }
    }

    private void btnCreateSub_Click(object sender, EventArgs e) {
        using (var hklm = Registry.LocalMachine)
        using (var hw = hklm.OpenSubKey("HARDWARE", true)) {
            var ddd = hw.CreateSubKey("ddd");
            ddd.SetValue("www", "1234");
        }
    }

    private void btnCreateMain_Click(object sender, EventArgs e) {
        using (var hklm = Registry.LocalMachine)
        using (var hw = hklm.OpenSubKey("HARDWARE", true)) {
            var main = hw.CreateSubKey("main");
            var sub = main.CreateSubKey("sub");
            sub.SetValue("value", "1234");
        }
    }

    private void btnRename_Click(object sender, EventArgs e) {
        using (var hklm = Registry.LocalMachine)
        using (var hw = hklm.OpenSubKey("HARDWARE", true))
        using (var aaa = hw.OpenSubKey("aaa", true))
            aaa.SetValue("bbb", "abcd"); // 重命名鍵值
    }

    public static void Main() { Application.Run(new Form1()); }
}

關鍵點:OpenSubKey(path, true) 取得可寫入權限,CreateSubKey 建立不存在的鍵,SetValue 同時支援新增與修改鍵值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved