扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Builder 2007年7月31日
关键字: Office
RegistryKey类利用前面列表中的一个Registry类项目来访问单个的注册表键。下面的C# Windows应用程序代码显示ClassesRoot注册表键中一个特殊条目的信息。
RegistryKeyrootKey = Registry.ClassesRoot;
rootKey = rootKey.OpenSubKey(".doc", true);
MessageBox.Show(rootKey.GetValue("").ToString());
MessageBox.Show(rootKey.GetValue("Content Type").ToString());
foreach(string sub in rootKey.GetSubKeyNames()) {
MessageBox.Show(sub);
RegistryKeytmp = rootKey.OpenSubKey(sub);
MessageBox.Show(tmp.Name);
}
foreach(string test in rootKey.GetValueNames()) {
MessageBox.Show(rootKey.GetValue(test).ToString());
}
代码参考正确的命名空间以利用注册表类。
using Microsoft.Win32;
代码访问ClassesRoot键(.doc)中的特定子键。该键对系统如何处理带特定文件扩展名(.doc)的文件进行定义。前两个消息对话框语句显示键本身的信息。提交到RegistryKey类GetValue方法的空值显示默认键值。第二个消息对话框显示与键有关的内容类型(MIME类型)。
第一个foreach块显示注册表键中所有子键的名称。第二个foreach块显示与前两个消息对话框语句一样的信息,但使用GetValueNames方法获得同样的结果(所以你不必知道项目的名称)。
对应的VB.NET代码如下:
Dim rootKey As RegistryKey
rootKey = Registry.ClassesRoot
Dim regSubKey As RegistryKey
Dim subk As String, test As String
Dim tmp As RegistryKey
rootKey = rootKey.OpenSubKey(".doc", True)
MessageBox.Show(rootKey.GetValue("").ToString())
MessageBox.Show(rootKey.GetValue("Content Type").ToString())
For Each subk In rootKey.GetSubKeyNames()
MessageBox.Show(subk)tmp = rootKey.OpenSubKey(subk)
MessageBox.Show(tmp.Name)
Next
or Each test In rootKey.GetValueNames()
MessageBox.Show(rootKey.GetValue(test).ToString())
Next
注:子键名不区分大小写。
增加注册表值
查阅注册表值不错,但有时候你需要增加注册表值。通常,应用程序把注册表当作存储应用程序相关数据的中央仓库。这种方法可以接受,但为避免系统或应用程序出现问题,我们不建议修改Windows系统或其它应用程序的值。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。