日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#?操作Windows注冊表的實現方法_C#教程

作者:猿長大人 ? 更新時間: 2022-06-02 編程語言

本文將給出操作注冊表的C#代碼以及開發中遇到的問題。

代碼示例

通過RegistryKey類的OpenBaseKey方法獲取注冊表根節點。

public static RegistryKey OpenBaseKey(RegistryHive hKey, RegistryView view)

在這里插入圖片描述

示例一:禁用 Windows 7 系統自動更新

// win7自動更新設置的注冊表路徑
string path = @"SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate";

// 獲取注冊表中win7自動更新設置的節點(32位系統改為 RegistryView.Registry32)
using (var rklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)) 
{
	using (var rkUpdate = rklm.OpenSubKey(path, true))
	{
		// 添加值(禁止為1,允許為0)
		rkUpdate.SetValue("DisableOSUpgrade", 1, RegistryValueKind.DWord);
	}
}

示例二:禁用 Windows 10 提醒

// win10提醒設置的注冊表路徑
string path = @"SOFTWARE\Policies\Microsoft\Windows\Gwx";

// 獲取注冊表中win10提醒設置的節點(32位系統改為 RegistryView.Registry32)
using (var rklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)) 
{
	using (var rkNotify = rklm.OpenSubKey(path, true))
	{
		// 添加值(禁止為1,允許為0)
		rkNotify.SetValue("DisableGwx", 1, RegistryValueKind.DWord);
	}
}

常見問題

問題描述:無法通過OpenSubKey方法獲取到注冊表節點(通過路徑獲取到的值為null)。
解決方法:請檢查操作系統是32位還是64位,使用OpenBaseKey方法要根據操作系統版本傳入對應參數

  • RegistryView.Registry32
  • RegistryView.Registry64

原文鏈接:https://blog.csdn.net/lgj123xj/article/details/123820200

欄目分類
最近更新