Tag: registrykey

注册表的哪个分支执行CE设备读取?

我的Windows CE(Motorola / Symbol)手持设备在HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE下面都有名为\ Software \ Microsoft \ Windows CE Services的文件夹。 HKEY_CURRENT_USER只有一个条目“DeviceFriendlyName”; 它由设备读取,因为设备在Windows资源管理器中标记有该键的值。 但是,HKEY_LOCAL_MACHINE怎么样? 它包含更多密钥,例如ExcludeExts,FileSyncPath,GuestOnly和c。 为什么在注册表中的两个不同位置有\ Software \ Microsoft \ Windows CE Services,并且都被设备读取? 关于HKEY_LOCAL_MACHINE下面的“ExcludeExts”键(即: lnk,tmp,cdb,mdb,sdf,sqlite )中的值是否得到尊重存在问题(我们不希望在这些值之间传输具有这些扩展名的文件)设备和与之连接的PC)。 通常情况下,它可以在我的机器上运行(sdf文件不再在我的开发机器上同步),但是测试部门说这对他们不起作用 – sdf文件仍然被放在“C:\”中PC上的Rompecabeza设备上的用户\ rompecabeza \ Documents \ Documents。 从我收集的内容来看,注册表值可能不区分大小写,但为了确保我更改了此代码: RegistryKey key = Registry.LocalMachine.CreateSubKey(@”SOFTWARE\Microsoft\Windows CE Services”); if (key != null) { key.SetValue(“GuestOnly”, 00000001, RegistryValueKind.DWord); key.SetValue(“ExcludeExts”, “lnk,tmp,cdb,mdb,sdf,sqlite”, RegistryValueKind.String); } ……对此: RegistryKey […]

在C#中查找注册表项

我正在开发一个项目,允许我从Windows 7 PC中删除注册表项。 具体来说,我正在尝试创建一个程序,允许我通过ProfileList键从机器中删除配置文件。 我的问题是无论我尝试什么,在我开始随机删除内容之前,似乎无法正确读取我想要做的密钥。 我的代码是 RegistryKey OurKey = Registry.LocalMachine; OurKey = OurKey.OpenSubKey(@”SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ProfileList”, true); foreach (string Keyname in OurKey.GetSubKeyNames()) { MessageBox.Show(Keyname); } 此代码运行但不返回任何内容(No MessageBox)。 任何想法为什么不呢? 编辑: 我得到了顶级密钥加载,感谢你们所有,但它只显示文件夹/密钥名称(例如:S-1-5-21-3794573037-2687555854-1483818651-11661)我需要的是阅读下面的密钥该文件夹可以查看ProfilePath是什么。 有没有更好的方法去做?

.NET 3.5 Dispose注册表项

我有以下代码: RegistryKey installKey = Registry.LocalMachine.OpenSubKey(installKey); 我在我的代码上运行静态分析工具,它给了我一个缺陷,说我从方法返回而没有处理installKey 。 我知道您可以在.NET 4.0或更高版本的RegistryKey上调用Dispose(),但我的代码在.NET 3.5上运行。 有没有人知道处理这个RegistryKey并让我的静态分析工具满意的最佳方法?

通过C#从注册表中的“UserChoice”键中删除“拒绝”规则(权限)

我正在研究文件关联。 我已经确定在UserChoice中有一个名为UserChoice的键: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\[ext]. 我已经能够读取和写入UserChoice密钥,只要我创建它并且它尚未由Windows创建。 但是,如果Windows已经创建了UserChoice密钥,那么我需要以管理员身份运行才能访问密钥。 我的最终目标是删除 UserChoice键。 我注意到Windows在UserChoice键上放置了拒绝规则,这阻止我删除该键。 如果我能成功删除该规则,我相信我将能够删除UserChoice密钥。 这是我尝试过的代码: public static void ShowSecurity(RegistryKey regKeyRoot, string user) { RegistrySecurity security = regKeyRoot.GetAccessControl(AccessControlSections.All); foreach (RegistryAccessRule ar in security.GetAccessRules(true, true, typeof(NTAccount))) { if (ar.IdentityReference.Value.Contains(User) && ar.AccessControlType.ToString().ToLower() == “deny”) { security.RemoveAccessRuleSpecific(ar); regKeyRoot.SetAccessControl(security); } } } 当Windows创建UserChoice键时,它为Type Deny的当前用户添加安全规则; 许可:特别 。 此规则不是inheritance的,仅适用于UserChoice键。 随着管理员的一些混乱和运行我能够访问RegistryAccessRule 。 但是,即使以管理员身份运行,我也无法删除此规则。 我在研究中的某处读到,没有一种编程方式可以做到这一点。 我可以通过RegEdit删除此规则。 我还可以使用NirSoft的文件类型管理器删除UserChoice密钥。 所以我假设有一些方法可以做到这一点。 简介:有没有办法可以删除拒绝规则,以便删除UserChoice密钥?

在二进制值中将Stringformated Hex块写入注册表

我真的被某事搞定了。 我有一个包含hex值的字符串: string creatorSid = @“01,05,00,00,00,00,00,05,15,00,00,00,10,b1,9d,4a,7a,85,7b,05,79,05,b3 ,7c中,EE,03,00,00″ ; 我想把它放到需要二进制值的registrykey中。 我试过这个: key.SetValue(“creatorSID”,creatorSid,RegistryValueKind.Binary); 但是我收到了无法转换的错误消息。 到目前为止,这是完整的代码: class Program { static void Main(string[] args) { String printerName = “Naked”; RegistryKey key = Registry.LocalMachine.OpenSubKey(@”SYSTEM\CurrentControlSet\Control\Print\Printers\” + printerName , true); string security = “01,00,0c,80,d0,00,00,00,dc,00,00,00,00,00,00,00,14,00,00,00,02,” + “00,bc,00,07,00,00,00,00,00,24,00,0c,00,0f,00,01,05,00,00,00,00,00,05,15,00,” + “00,00,10,b1,9d,4a,7a,85,7b,05,79,05,b3,7c,ee,03,00,00,00,09,24,00,30,00,0f,” + “00,01,05,00,00,00,00,00,05,15,00,00,00,10,b1,9d,4a,7a,85,7b,05,79,05,b3,7c,” + “ee,03,00,00,00,09,14,00,00,00,00,10,01,01,00,00,00,00,00,03,00,00,00,00,00,” + “00,14,00,08,00,02,00,01,01,00,00,00,00,00,01,00,00,00,00,00,0a,14,00,00,00,” + “00,20,01,01,00,00,00,00,00,01,00,00,00,00,00,00,18,00,0c,00,0f,00,01,02,00,” + “00,00,00,00,05,20,00,00,00,20,02,00,00,00,0b,18,00,00,00,00,10,01,02,00,00,” + “00,00,00,05,20,00,00,00,20,02,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,” + “01,00,00,00,00,00,05,12,00,00,00”; […]

C#Registry SetValue抛出UnauthorizedAccessException

在您尝试使用“快速Google搜索”进行回答之前。 我想指出我已经。 这是情况,我有以下方法尝试修改注册表项值。 我得到的问题是,当执行时,它会抛出一个UnauthorizedAccessException, 即使我已经将密钥打开为可写 。 我以管理员身份运行Visual Studio,甚至尝试使用清单文件制作一个小的.exe,强制它以管理员身份运行,执行代码时没有运气。 密钥已经存在,它不会尝试进入CreateKey方法。 这是代码块。 Path = “S-1-5-21-1644491937-1078145449-682003330-5490\Software\Microsoft\Windows\CurrentVersion\Policies\System” Key = “DisableTaskMgr” NewValue = 1 public OperationResult ModifyKey() { OperationResult result = new OperationResult(); if (!Path.IsNullOrEmptyTrim()) { if (!Key.IsNullOrEmptyTrim()) { try { var key = Microsoft.Win32.Registry.Users.OpenSubKey(Path, true); if (key != null) { key.SetValue(Key, NewValue); key.Close(); } else { result = CreateKey(); […]

读取Registry_binary并转换为字符串

我一直在寻找最近2个小时,而我实际上一直在寻找愚蠢的。 我试图读取Registry_binary值并将其转换为字符串。 我尝试了一些我在网上找到的东西(包括一些stackoverflowpost),但似乎我无法让它工作: class Class1 { RegistryKey RegKey; String keys; static void Main() { Class1 c=new Class1(); c.initialize(); } void initialize() { RegKey=Registry.LocalMachine.OpenSubKey(“the location”, true); var bytearray=Converter; Console.WriteLine(bytearray); System.Threading.Thread.Sleep(5000); } } 我也试过用: keys=keys+BitConverter.ToString(System.byte[RegKey.GetValue(“key”)]); 根据要求: RegKey=Registry.LocalMachine.OpenSubKey(“Software\\MXstudios\\riseingtesharts”, true); keys=RegKey.GetValue(“key”); 这将输出System.Bytes[]

我添加了一个注册表项,但我无法以编程方式找到它

所以我使用RegEdit将以下内容添加到我的工作站上的注册表中: HKLM \ SOFTWARE \富\酒吧 Bar具有ak / v对“wtf”/“idk”。 我通过关闭注册表并重新打开它来validation这些更改“采取了”。 嘿,他们还在那里! 胀。 RegistryKey key = Registry.LocalMachine.OpenSubKey(@”SOFTWARE\Foo\Bar”); if (key != null) { var = key.GetValue(“wtf”).ToString(); } 问题是,key为null。 什么时候。 。 。 Registry.LocalMachine.OpenSubKey(“Software”).GetSubKeyNames() 被称为,Foo不会出现在众多的SubKeyNames中。 所以,我显然错过了一些愚蠢的东西。 具体到底我错过了什么?

访问HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Installer \ UserData

任何人都可以告诉我为什么我无法访问”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData”的注册表项? 如果我查询”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer”的GetSubKeysNames ,它只返回一个值为”Secure”值—->所有其他子键在哪里? 谢谢。