zoukankan      html  css  js  c++  java
  • C#实现在注册表中保存信息

    最近做的项目需要在注册表中记录一些用户设置,方便在程序下次启动时读取设置,应用上次用户保存的设置,挺简单的。

    写出来,方便记忆,以后要用,可以直接改改就能用。

     1 using System;
     2 
     3 namespace Backend
     4 {
     5     public class RegistryStorage
     6     {
     7         public static PageVisibility OpenAfterStart()
     8         {
     9             Microsoft.Win32.RegistryKey registryKey;
    10             PageVisibility visibility = PageVisibility.Visible;
    11 
    12             // HKCUSoftwareRegeditStorage
    13             registryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SoftwareRegistryStorage");
    14             if (registryKey != null)
    15             {
    16                 visibility = (string)registryKey.GetValue("PageVisibility") == PageVisibility.Hide.ToString() ?
    17                     PageVisibility.Hide : PageVisibility.Visible;
    18                 registryKey.Close();
    19             }
    20 
    21             return visibility;
    22         }
    23 
    24         public static void SaveBeforeExit(PageVisibility visibility)
    25         {
    26             Microsoft.Win32.RegistryKey registryKey;
    27 
    28             // HKCUSoftwareRegeditStorage
    29             registryKey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"SoftwareRegistryStorage");
    30             registryKey.SetValue("PageVisibility", visibility.ToString());
    31             registryKey.Close();
    32         }
    33     }
    34 
    35     public enum PageVisibility
    36     { 
    37         Visible,
    38         Hide
    39     }
    40 }

    代码很容易理解,下面添加一点代码来测试一下。

     1 using System;
     2 using System.Diagnostics;
     3 
     4 namespace Backend.Test
     5 {
     6     class Program
     7     {
     8         static void Main(string[] args)
     9         {
    10             // 存值 
    11             RegistryStorage.SaveBeforeExit(PageVisibility.Hide);
    12             // 取值
    13             PageVisibility visibility = RegistryStorage.OpenAfterStart();
    14             // 验证
    15             Debug.Assert(visibility == PageVisibility.Hide);
    16 
    17 
    18             // 存值
    19             RegistryStorage.SaveBeforeExit(PageVisibility.Visible);
    20             // 取值
    21             visibility = RegistryStorage.OpenAfterStart();
    22             // 验证
    23             Debug.Assert(visibility == PageVisibility.Visible);
    24 
    25             Console.WriteLine("Press any key to exit.");
    26             Console.ReadKey();
    27         }
    28     }
    29 }

    最后,上一张修改后的注册表截图:

  • 相关阅读:
    Android简介(8H)思维导图
    Android章节练习题及答案
    付费方式选择——选项菜单的创建和使用
    Android——选项菜单的实现
    思维导图——四级词汇2
    jquery:为动态加载的元素绑定事件
    tcp/ip协议详解
    Atom实用插件
    如何让textarea不可拖拽
    移动端网站中手机号唤起拨号界面
  • 原文地址:https://www.cnblogs.com/ProJKY/p/RegistryStorage.html
Copyright © 2011-2022 走看看