博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#实现在注册表中保存信息
阅读量:4919 次
发布时间:2019-06-11

本文共 2319 字,大约阅读时间需要 7 分钟。

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

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

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             // HKCU\Software\RegeditStorage13             registryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\RegistryStorage");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             // HKCU\Software\RegeditStorage29             registryKey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\RegistryStorage");30             registryKey.SetValue("PageVisibility", visibility.ToString());31             registryKey.Close();32         }33     }34 35     public enum PageVisibility36     { 37         Visible,38         Hide39     }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 }

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

 

版权归博客园和作者共有。.NET类库源码参考 扣丁格鲁 www.projky.com,转载请注明出处。

转载于:https://www.cnblogs.com/zxtceq/p/5319568.html

你可能感兴趣的文章
sql 语句
查看>>
VUE一 基础语法
查看>>
[MySQl]MySQL忘记密码
查看>>
Android的minSdkVersion,targetSdkVersion,maxSdkVersion
查看>>
Xceed WinForm数据表格控件Xceed Grid For .NET控件详细介绍及下载地址
查看>>
ecos启动流程分析
查看>>
Oracle CASE WHEN 用法介绍
查看>>
linux 下连接mysql服务器
查看>>
DOMContentLoad 首屏渲染
查看>>
rpm检验是否被改动过
查看>>
Sphinx-简介及原理
查看>>
【Linux】深入理解Linux中内存管理
查看>>
WEB 移动网站 手机点击 打电话 发短信
查看>>
2019CSUST集训队选拔赛题解(一)
查看>>
李晓菁201771010114《面向对象程序设计(Java)》第三周学习总结
查看>>
Typedef与Struct
查看>>
Linux常用网络命令整理
查看>>
C++ 面向对象
查看>>
Maven Nexus
查看>>
js 判断滚动条的滚动方向
查看>>