[英]Editing Local_Machine RegistryKeys Programmatically (C#)
我正在嘗試制作一個程序,以更改遠程計算機上的注冊表項值,以阻止/允許用戶個性化其鎖定屏幕圖像。 似乎我需要創建的密鑰位於HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\Personalization
,其名稱為NoChangingLockScreen
。 我可以輕松地使用.reg文件執行此操作,並將所有更改合並到其注冊表中(我計划創建Windows服務來監視文件中的更改),盡管似乎我什至無法修改HKEY_LOCAL_MACHINE
類中的任何鍵。 請注意:
我發現很少有其他人遇到權限問題的文檔
RegistryKey myKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\\Policies\\Microsoft\\Windows", true);
Registry.ClassesRoot
用於HKEY_CLASSES_ROOT
。 您需要像這樣使用Registry.LocalMachine
字段:
using (var registryKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Policies\Microsoft\Windows", writable: true))
{
...
}
另請注意,這是用於本地注冊表訪問。 如果您想打開遠程注冊表,則需要使用另一種方法:
using (var remoteBaseKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "RemoteMachineName"))
using (var registryKey = remoteBaseKey.OpenSubKey(@"SOFTWARE\Policies\Microsoft\Windows", writable: true))
{
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.