最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#操作注冊(cè)表的方法

 更新時(shí)間:2007年03月09日 00:00:00   作者:  
以下從‘讀’‘寫’‘刪除’‘判斷’四個(gè)事例實(shí)現(xiàn)對(duì)注冊(cè)表的簡(jiǎn)單操作
using Microsoft.Win32 ;  

1.讀取指定名稱的注冊(cè)表的值  

復(fù)制代碼 代碼如下:

private string GetRegistData(string name)
{
string registData;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);
RegistryKey aimdir = software.OpenSubKey("XXX",true);
registData = aimdir.GetValue(name).ToString();
return registData;
}

以上是讀取的注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE目錄下的XXX目錄中名稱為name的注冊(cè)表值; 

2.向注冊(cè)表中寫數(shù)據(jù)  

復(fù)制代碼 代碼如下:

private void WTRegedit(string name,string tovalue)
{
RegistryKey hklm = Registry.LocalMachine;
RegistryKey software = hklm.OpenSubKey("SOFTWARE",true);
RegistryKey aimdir = software.CreateSubKey("XXX");
aimdir.SetValue(name,tovalue);
}


以上是在注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE目錄下新建XXX目錄并在此目錄下創(chuàng)建名稱為name值為tovalue的注冊(cè)表項(xiàng); 

3.刪除注冊(cè)表中指定的注冊(cè)表項(xiàng)  

復(fù)制代碼 代碼如下:

private void DeleteRegist(string name)
{
string[] aimnames;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);
RegistryKey aimdir = software.OpenSubKey("XXX",true);
aimnames = aimdir.GetSubKeyNames();
foreach(string aimKey in aimnames)
{
if(aimKey == name)
aimdir.DeleteSubKeyTree(name);
}
}


以上是在注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE目錄下XXX目錄中刪除名稱為name注冊(cè)表項(xiàng); 

4.判斷指定注冊(cè)表項(xiàng)是否存在  

復(fù)制代碼 代碼如下:

private bool IsRegeditExit(string name)
{
bool _exit = false;
string[] subkeyNames;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);
RegistryKey aimdir = software.OpenSubKey("XXX",true);
subkeyNames = aimdir.GetSubKeyNames();
foreach(string keyName in subkeyNames)
{
if(keyName == name)
{
_exit = true;
return _exit;
}
}
return _exit;
}


以上是在注冊(cè)表中HKEY_LOCAL_MACHINE\SOFTWARE目錄下XXX目錄中判斷名稱為name注冊(cè)表項(xiàng)是否存在,這一方法在刪除注冊(cè)表時(shí)已經(jīng)存在,在新建一注冊(cè)表項(xiàng)時(shí)也應(yīng)有相應(yīng)判斷; 

復(fù)制代碼 代碼如下:

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

namespace RegeditManager
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //創(chuàng)建并寫入
        private void button1_Click(object sender, EventArgs e)
        {
            RegistryKey key = Registry.LocalMachine;
            try
            {
                RegistryKey software = key.CreateSubKey("software\\LabManager");
                software = key.OpenSubKey("software\\LabManager", true);
                software.SetValue("Address", @"C:\Program Files\實(shí)驗(yàn)室管理系統(tǒng)\dbcom.xml");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                key.Close();
            }
        }
        //讀取
        private void button2_Click(object sender, EventArgs e)
        {
            string info = string.Empty;
            RegistryKey key=Registry.LocalMachine;
            try
            {
                key = key.OpenSubKey("software\\LabManager");
                if (IsRegeditKeyExit("software\\LabManager", "Address"))
                {
                    info = key.GetValue("Address").ToString();
                    MessageBox.Show("注冊(cè)表里的信息為:" + info);
                }
                else
                {
                    MessageBox.Show("鍵值A(chǔ)ddress不存在;");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                key.Close();
            }
        }
        //刪除
        private void button3_Click(object sender, EventArgs e)
        {
            RegistryKey key = Registry.LocalMachine;
            try
            {
                key = key.OpenSubKey("software\\LabManager",true);
                if (IsRegeditKeyExit("software\\LabManager", "Address"))
                {
                    key.DeleteValue("Address");
                    MessageBox.Show("刪除成功");
                }
                else
                {
                    MessageBox.Show("鍵值A(chǔ)ddress不存在;");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                key.Close();
            }
        }

        /// <summary>
        /// 判斷鍵值是否存在
        /// </summary>
        /// <param name="RegistryStr">注冊(cè)表項(xiàng)</param>
        /// <param name="KeyStr">鍵值</param>
        /// <returns></returns>
        private bool IsRegeditKeyExit(string RegistryStr,string KeyStr)
        {
            string[] subkeyNames;

            RegistryKey hkml = Registry.LocalMachine;

            RegistryKey software = hkml.OpenSubKey(RegistryStr);

            subkeyNames = software.GetValueNames();

            foreach (string keyName in subkeyNames)
            {
                if (keyName == KeyStr)  //判斷鍵值的名稱
                {
                    hkml.Close();

                    return true;
                }
            }
            hkml.Close();

            return false;
        }

        /// <summary>
        /// 判斷注冊(cè)表項(xiàng)是否存在
        /// </summary>
        /// <param name="RegistryName">例如:SOFTWARE</param>
        /// <param name="ValueStr">例如:LabManager</param>
        /// <returns></returns>
        private bool IsRegeditItemExist(string RegistryName,string ValueStr)
        {
            string[] subkeyNames;

            RegistryKey hkml = Registry.LocalMachine;

            RegistryKey software = hkml.OpenSubKey(RegistryName);

            subkeyNames = software.GetSubKeyNames();

            //取得該項(xiàng)下所有子項(xiàng)的名稱的序列,并傳遞給預(yù)定的數(shù)組中

            foreach (string keyName in subkeyNames)  //遍歷整個(gè)數(shù)組
            {
                if (keyName == ValueStr) //判斷子項(xiàng)的名稱
                {
                    hkml.Close();
                    return true;
                }
            }
            hkml.Close();
            return false;

        }
    }
}

相關(guān)文章

  • C#中限制并發(fā)任務(wù)數(shù)量的高效方法與技巧分享

    C#中限制并發(fā)任務(wù)數(shù)量的高效方法與技巧分享

    在C#中,處理并發(fā)操作是一項(xiàng)常見且強(qiáng)大的功能,尤其是在需要執(zhí)行多個(gè)任務(wù)但又希望限制同時(shí)運(yùn)行任務(wù)數(shù)量的場(chǎng)景中,本文將深入探討幾種有效的方法來限制C#中的并發(fā)任務(wù)數(shù)量,并通過具體的應(yīng)用場(chǎng)景和示例代碼展示如何實(shí)現(xiàn)這些方法,需要的朋友可以參考下
    2024-12-12
  • C# #define條件編譯詳解

    C# #define條件編譯詳解

    這篇文章主要介紹了C# #define條件編譯,告訴大家#define是用來做什么?如何使用#define,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • unity實(shí)現(xiàn)攝像頭跟隨

    unity實(shí)現(xiàn)攝像頭跟隨

    把這個(gè)腳本賦給你的攝像機(jī),再把游戲角色賦給character變量,之后就能實(shí)現(xiàn)攝像機(jī)平滑的跟隨player在地球的任一角落了。有需要的小伙伴可以參考下。
    2015-03-03
  • 總結(jié)C#處理異常的方式

    總結(jié)C#處理異常的方式

    這篇文章介紹了C#處理異常的方式總結(jié),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 深入了解C#多線程安全

    深入了解C#多線程安全

    使用多線程無法避免的一個(gè)問題就是多線程安全。那什么是多線程安全?如何解決多線程安全?本文將通過一些簡(jiǎn)單的例子為大家詳細(xì)介紹一下多線程相關(guān)的問題,感興趣的可以了解一下
    2021-12-12
  • C#中調(diào)用Servlet示例

    C#中調(diào)用Servlet示例

    這篇文章主要介紹了C#中調(diào)用Servlet示例,本文實(shí)現(xiàn)通用消息接口使用servlet作為服務(wù)器端服務(wù)接口,第三方應(yīng)用程序通過http post的方式調(diào)用servlet,實(shí)現(xiàn)與通用消息接口的調(diào)用連接,需要的朋友可以參考下
    2015-05-05
  • C#操作非持久化內(nèi)存映射文件詳解

    C#操作非持久化內(nèi)存映射文件詳解

    多個(gè)進(jìn)程之間,通過操作未映射到磁盤上現(xiàn)有文件的內(nèi)存映射文件,可以實(shí)現(xiàn)數(shù)據(jù)共享和類似進(jìn)程間通訊的功能,下面我們就來學(xué)習(xí)一下C#如何操作非持久化內(nèi)存映射文件的吧
    2023-12-12
  • C#中文隨機(jī)數(shù)實(shí)現(xiàn)方法

    C#中文隨機(jī)數(shù)實(shí)現(xiàn)方法

    這篇文章主要介紹了C#中文隨機(jī)數(shù)實(shí)現(xiàn)方法,涉及C#針對(duì)中文及隨機(jī)數(shù)的相關(guān)操作技巧,需要的朋友可以參考下
    2015-06-06
  • 再談異常處理try catch finally

    再談異常處理try catch finally

    這篇文章主要介紹了再談異常處理try catch finally 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • 一文帶你了解C#中的協(xié)變與逆變

    一文帶你了解C#中的協(xié)變與逆變

    這篇文章介紹了C#中協(xié)變和逆變的相關(guān)知識(shí),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02

最新評(píng)論

金塔县| 大荔县| 岳阳县| 兴文县| 辰溪县| 石城县| 磐石市| 波密县| 昌乐县| 拜泉县| 北辰区| 贞丰县| 宁蒗| 通海县| 凤山县| 临高县| 绥宁县| 山东省| 雷山县| 旬邑县| 纳雍县| 岳阳县| 湘西| 永德县| 宾阳县| 通河县| 花垣县| 库车县| 铜鼓县| 南雄市| 客服| 浦东新区| 兴安县| 灌阳县| 泸溪县| 贺州市| 沅陵县| 天门市| 舞钢市| 绥江县| 盐池县|