九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
C# 遍歷注冊(cè)表
遍歷注冊(cè)表需要注意的是:本機(jī)的系統(tǒng)是32位還64位, 那么程序也要相應(yīng)的是32位或者64位, 否則在讀取注冊(cè)表的時(shí)候會(huì)出現(xiàn)讀取子項(xiàng)不全的問(wèn)題。本人是使用遞歸的方式來(lái)讀取注冊(cè)表,由于是剛學(xué)的C#, 有什么不對(duì)的請(qǐng)包含指出,謝謝!純屬學(xué)習(xí)記錄, 大神請(qǐng)繞過(guò)!
private void TraversingRegistry(RegistryKey registryKey, string keyword , ref string path)
        {
            string[] values = registryKey.GetSubKeyNames();
            foreach (var valueName in values)
            {
                try
                {
                    RegistryKey subKey = registryKey.OpenSubKey(valueName, false);
                    bool bRet = TraversingChildNode(subKey, keyword, ref path);
                    if(bRet)
                    {
                        break;
                    }
                }
                catch(System.Exception ex)
                {
                    continue;
                }
               
            }
        }


private bool TraversingChildNode(RegistryKey registryKey, string keyword, ref string path)
        {
            bool bRet = false;
            bRet = TraversingParentNode(registryKey, keyword, ref path);
            if(bRet)
            {
                return bRet;
            }
            if (registryKey != null)
            {
                string[] values = registryKey.GetSubKeyNames();
                foreach (var valueName in values)
                {
                    try
                    {
                        RegistryKey subKey = registryKey.OpenSubKey(valueName, false);
                        System.Diagnostics.Debug.WriteLine(subKey.Name);
                        bRet = TraversingChildNode(subKey, keyword, ref path);
                        if(bRet)
                        {
                            break;
                        }
                    }
                    catch (System.Exception ex)
                    {
                        continue;
                    }
                }
            }

            return bRet;
        }

private bool TraversingParentNode(RegistryKey registryKey, string keyword, ref string path)
        {
            bool bRet = false;
            if (registryKey != null)
            {
                string[] values1 = registryKey.GetValueNames();
                string[] values = registryKey.GetSubKeyNames();
                foreach (var valueName in values)
                {
                    try
                    {
                        RegistryKey subKey = registryKey.OpenSubKey(valueName, false);
                        System.Diagnostics.Debug.WriteLine(subKey.Name);
                        if (subKey.Name.Contains(keyword))
                        {
                            path = subKey.GetValue("path", true).ToString(); //獲取值數(shù)據(jù)
                            path += "WINPROJ.EXE";
                            bRet = true;
                            break;
                        }
                    }
                    catch (System.Exception ex)
                    {
                        continue;
                    }
                }
            }

            return bRet;
        }


調(diào)用代碼:
string path = "";
TraversingRegistry(Registry.LocalMachine, @"Project\InstallRoot", ref path);

幾個(gè)逐漸反別對(duì)應(yīng):
 //
        // 摘要:
        //     定義文檔的類(lèi)型(或類(lèi))以及與那些類(lèi)型關(guān)聯(lián)的屬性。該字段讀取 Windows 注冊(cè)表基項(xiàng) HKEY_CLASSES_ROOT。
        public static readonly RegistryKey ClassesRoot;
        //
        // 摘要:
        //     包含有關(guān)非用戶(hù)特定的硬件的配置信息。該字段讀取 Windows 注冊(cè)表基項(xiàng) HKEY_CURRENT_CONFIG。
        public static readonly RegistryKey CurrentConfig;
        //
        // 摘要:
        //     包含有關(guān)當(dāng)前用戶(hù)首選項(xiàng)的信息。該字段讀取 Windows 注冊(cè)表基項(xiàng) HKEY_CURRENT_USER
        public static readonly RegistryKey CurrentUser;
        //
        // 摘要:
        //     包含動(dòng)態(tài)注冊(cè)表數(shù)據(jù)。該字段讀取 Windows 注冊(cè)表基項(xiàng) HKEY_DYN_DATA。
        //
        // 異常:
        //   T:System.ObjectDisposedException:
        //     操作系統(tǒng)不支持動(dòng)態(tài)數(shù)據(jù),即操作系統(tǒng)非 Windows 98、Windows 98 Second Edition 或 Windows Millennium
        //     Edition。
        [Obsolete("The DynData registry key only works on Win9x, which is no longer supported by the CLR.  On NT-based operating systems, use the PerformanceData registry key instead.")]
        public static readonly RegistryKey DynData;
        //
        // 摘要:
        //     包含本地計(jì)算機(jī)的配置數(shù)據(jù)。該字段讀取 Windows 注冊(cè)表基項(xiàng) HKEY_LOCAL_MACHINE。
        public static readonly RegistryKey LocalMachine;
        //
        // 摘要:
        //     包含軟件組件的性能信息。該字段讀取 Windows 注冊(cè)表基項(xiàng) HKEY_PERFORMANCE_DATA。
        public static readonly RegistryKey PerformanceData;
        //
        // 摘要:
        //     包含有關(guān)默認(rèn)用戶(hù)配置的信息。該字段讀取 Windows 注冊(cè)表基項(xiàng) HKEY_USERS。
        public static readonly RegistryKey Users;


另外在C#中使用本地程序本地程序打開(kāi)一個(gè)本地文件頁(yè)是非常方便的,如:
System.Diagnostics.Process.Start("notepad.exe", @"C:\11.txt");
System.Diagnostics.Process.Start("WINPROJ.EXE", @"C:\test.mpp");

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
利用JAVA向注冊(cè)表里寫(xiě)信息
用java實(shí)現(xiàn)修改系統(tǒng)的環(huán)境變量并使其不需重啟就生效
C#綜合揭秘
(1)C#注冊(cè)表操作類(lèi)(完整版)
C# 如何:確定安裝了哪些 .NET Framework 版本
vb.net操作注冊(cè)表的方法分析【增加,修改,刪除,查詢(xún)】
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服