| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 751 人关注过本帖, 1 人收藏
标题:C#读写注册表
只看楼主 加入收藏
articeting
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-8-22
收藏(1)
 问题点数:0 回复次数:4 
C#读写注册表
请高手把本程序补充完整,
如果你的电脑中有HKEY_LOCAL_MACHINE\SOFTWARE\Adobe和HKEY_LOCAL_MACHINE\SOFTWARE\QQ,没有可用其它代替。

目的:1、从这两个注册表项取出所有项和键值,存入一个txt文件。
      2、 读出txt文件,写入注册表
using System;
using System.Collections.Generic;
using System.Text;

namespace IregOperate
{
    /// <summary>
    /// IRegOperator接口
    /// </summary>
    interface IRegOperator
    {
        /// <summary>
        /// Read()方法
        /// Write(list<string> content)方法
        /// </summary>
        /// <returns></returns>
        string Read();
        void Write(List<string> content);
    }

    /// <summary>
    /// 抽象类AbstractRegOperate实现IRegOperator接口
    /// </summary>
    abstract class AbstractRegOperate : IRegOperator
    {
        public abstract string Read();
        public abstract void Write(List<string> content);
        protected string ReadRegistry(string registryname)
        {
           
        }
    }
    class UTRegOperator : AbstractRegOperate
    {
        public override string Read()
        {
            string temp = string.Empty;
            temp += ReadRegistry(@"HKEY_LOCAL_MACHINE\SOFTWARE\Adobe");
            return temp;
        }
        public override void Write(List<string> content)
        {
            throw new Exception("The method or operation is not implemented.");
        }
    }

    class CTRegOperator : AbstractRegOperate
    {
        public override string Read()
        {
            string temp = string.Empty;
            temp += ReadRegistry(@"HKEY_LOCAL_MACHINE\SOFTWARE\QQ");
            return temp;
        }
        public override void Write(List<string> content)
        {
        }
    }
    public class RegOperatorFactory : IRegOperator
    {
        IRegOperator m_operator;
        public RegOperatorFactory(RegOption option)
        {
            switch (option)
            {
                case RegOption.CT:
                    m_operator = new CTRegOperator();
                    break;
                case RegOption.UT:
                    m_operator = new UTRegOperator();
                    break;
                default:
                    throw new Exception("没有提供方法实现。");
            }
        }

        public string Read()
        {
            return m_operator.Read();
        }

        public void Write(List<string> content)
        {
            m_operator.Write(content);
        }
    }

    public enum RegOption
    {
        UT,
        CT
    }

}
搜索更多相关主题的帖子: 注册表 
2008-09-01 09:35
lkj789
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-5-5
收藏
得分:0 
















" border="0" />
[url=http://www.]近战法师[/url]
2008-09-01 09:50
k7785524
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2008-6-27
收藏
得分:0 
  不想灌  水啊,挣点数   要紧












" border="0" />
[url=http://www.]老婆爱上我最新章节[/url]
2008-09-01 10:25
hellson
Rank: 2
来 自:北京
等 级:新手上路
威 望:4
帖 子:195
专家分:0
注 册:2008-9-1
收藏
得分:0 
写注册表实现右键菜单

程序代码:
命名空间:
using Microsoft.Win32;

右键菜单的注册表项在\HKEY_CLASSES_ROOT\*\shell下

关键代码:
RegistryKey reg;
reg = Registry.ClassesRoot;
reg=reg.CreateSubKey(@"*\shell\myApp");
//创建新项myApp
reg.SetValue("","我的程序");
//设置项值
reg = Registry.ClassesRoot;
reg.CreateSubKey(@"*\shell\myApp\command");
//创建新项command
reg.SetValue("",Application.ExecutablePath+" %1");
//设置command的值
reg.Close();
2008-09-02 10:03
articeting
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-8-22
收藏
得分:0 
帮帮手啥
帮帮手啥
2008-09-02 11:51
快速回复:C#读写注册表
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027511 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved