我有个REG文件,我要把它的内容读出来,并写入注册表,请问在程序中该怎么实现?
解决方案 »
- c#winform如何将textBox中的文本 存到Txt中,不删除原来的文本
- iis7发布了MVC项目之后不能运行,.net 3.5的mvc项目一切正常,换成4.0的就不正常了
- 求一SQL语句
- 关于怎么样在dategrid里面加下拉选项
- 如何是SecurityPermission程序集具有Full Trust 权限!
- 高分求教datagrid中更新数据库的问题
- 关于计算GridView中某行中指定列的值
- 问个弱弱的问题:怎么用mutex锁住一个对象?
- 如何编写自己的控件(100分)
- 请教,用C#写的收邮件程序,邮件中文不能正常显示
- 播放WAV文件的问题
- C# winform panel动态增加控件的问题(急)
数据库的链接字符串是用数据库开发所必须的信息,我们通过链接字符串连接数据库,并进行各种数据库操作。那么链接字符串的存到哪里好呢?这没有什么定论,Asp系统开发中,一般存在一个conn.asp包含文件中或者如果又是COM,可能还会封闭到COM中,.Net开发中,大多数都选择存在Web.conifg中,也有人存储在另外一个单独的文件中。那么本文提供的是把数据库链接信息存储到注册表中的方案。也许你要问为什么要存到注册表呢?我想最起码的好处是安全,注册表的访问权限很高,一般远程服务在没有得到管理员账号的情况下是没有权限来对注册表进行操作的,那么用来连接数据库的账户信息便安全许多。一、在注册表中建立相应的键及值:有三种方法可以在注册表中添加我们需要的信息:1、纯手工的方法:开始->运行->Regedit,然后在相应的位置新建所需要的键和值。2、运行一个注册表注册程序:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\TownSite]"Town"="server=localhost;database=Town;User Id=sa;Pwd=pass"将上面的代码保存成一个.Reg文件,然后双击运行便可以在相应的位置添加相应的信息。3、程序实现(C#): RegistryKey regKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\TownSite");regKey.SetValue(dbName,"server=Hi4-kelvin-yu;database=Test;User ID=sa;Pwd=pass");说明:C#有对注册表进行处理的类和方法,首先要引入命名空间Microsoft.Win32 ,CreateSubKey方法会自动检测有没有相应的键值,如果没有则会创建,如果有则返回表示该键的RegistryKey的实例,如果可以确定有键值的话,也可以用OpenSubKey打开。dbName是值名,通过变量传过来。 二、读取键值:读取键值非常简单 RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\TownSite", false); connectionString = regKey.GetValue(dbName).ToString().Trim();说明:从相应的键处读取值信息,然后得到数据库链接字符串赋给一变量或者属性,然后就可以进行数据库连接了。三、一点说明:如果采用程序的方式创建注册表的键值,就要确保aspnet用户有对注册表的操作权限,方法如下:“开始->运行”,输入命令,“regedt32”,找到“System->CurrentControlSet->Services->Eventlog”,选择“安全->权限->添加”,然后找到本机的“AspNet”用户,加进来并且给读取权限就好了,加进来后目录中会多一个“aspnet_wp account”
在程序里面运行这个文件撒
PS:楼主是围棋爱好者吧?业余几段?
使用方式可以在windows帮助文档中查reg关键字,有很详细的说明。
也可以通过在命令行中执行
reg /?
察看
比如执行removeshare.reg文件如下:
reg import removeshare.reg