草庐IT

Registry

全部标签

c# - 避免注册表 Wow6432Node 重定向

我正在尝试在c#中使用Microsoft.Win32.RegistryKey插入一些简单的注册表项,但路径会自动更改为:HKEY_LOCAL_MACHINE\SOFTWARE\Test到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Test我试过谷歌,但只得到一些模糊和令人困惑的结果。有没有人处理过这个问题?一些示例代码将非常受欢迎。 最佳答案 可以使用RegistryKey.OpenBaseKey来解决这个问题:varbaseReg=RegistryKey.OpenBaseKey(Registry

c# - Registry.LocalMachine.OpenSubKey() 返回 null

我从这次访问Windows注册表的尝试中得到了一个空值:using(RegistryKeyregistry=Registry.LocalMachine.OpenSubKey(keyPath))keyPath是SOFTWARE\\TestKeykey在注册表中,为什么在本地计算机配置单元下找不到它? 最佳答案 如果您使用的是64位计算机,则可能会发生这种情况。先创建一个辅助类(需要.NET4.0或更高版本):publicclassRegistryHelpers{publicstaticRegistryKeyGetRegistryKey

c# - Registry.LocalMachine.OpenSubKey() 返回 null

我从这次访问Windows注册表的尝试中得到了一个空值:using(RegistryKeyregistry=Registry.LocalMachine.OpenSubKey(keyPath))keyPath是SOFTWARE\\TestKeykey在注册表中,为什么在本地计算机配置单元下找不到它? 最佳答案 如果您使用的是64位计算机,则可能会发生这种情况。先创建一个辅助类(需要.NET4.0或更高版本):publicclassRegistryHelpers{publicstaticRegistryKeyGetRegistryKey

c# - 无法写入注册表项,获取 UnauthorizedAccessException

我有一个Windows服务试图写入LOCAL_MACHINE中的注册表项key是作为控制Windows服务和独立控制窗口的Windows安装程序包的一部分创建的。控制窗口可以正常读取和写入注册表项,但是即使我授予LOCALSERVICE完全权限,我也无法写入注册表项。这是抛出异常的代码:privatevoidupdateLocalRegistryVersion(DoublenewVersion){RegistryKeyrk=Registry.LocalMachine;RegistryKeysk=rk.OpenSubKey(@"Software\CompanyName\Monitorin

c# - 无法写入注册表项,获取 UnauthorizedAccessException

我有一个Windows服务试图写入LOCAL_MACHINE中的注册表项key是作为控制Windows服务和独立控制窗口的Windows安装程序包的一部分创建的。控制窗口可以正常读取和写入注册表项,但是即使我授予LOCALSERVICE完全权限,我也无法写入注册表项。这是抛出异常的代码:privatevoidupdateLocalRegistryVersion(DoublenewVersion){RegistryKeyrk=Registry.LocalMachine;RegistryKeysk=rk.OpenSubKey(@"Software\CompanyName\Monitorin

c# - 在 C# 中以编程方式设置浏览器代理设置

我正在编写一个winforms应用程序,它需要设置InternetExplorer的代理设置,然后打开一个新的浏览器窗口。目前,我正在通过进入注册表来应用代理设置:RegistryKeyregistry=Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\InternetSettings",true);registry.SetValue("ProxyEnable",1);registry.SetValue("ProxyServer","127.0.0.1:8080");进入注册表是

c# - 在 C# 中以编程方式设置浏览器代理设置

我正在编写一个winforms应用程序,它需要设置InternetExplorer的代理设置,然后打开一个新的浏览器窗口。目前,我正在通过进入注册表来应用代理设置:RegistryKeyregistry=Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\InternetSettings",true);registry.SetValue("ProxyEnable",1);registry.SetValue("ProxyServer","127.0.0.1:8080");进入注册表是

c# - 如何在 C# 中删除注册表值

我可以使用Microsoft.Win32.Registry类获取/设置注册表值。例如,Microsoft.Win32.Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run","MyApp",Application.ExecutablePath);但我无法删除任何值。如何删除注册表值? 最佳答案 要删除问题中设置的值:stringkeyName=@"Software\Microsoft\Windows\CurrentVer

c# - 如何在 C# 中删除注册表值

我可以使用Microsoft.Win32.Registry类获取/设置注册表值。例如,Microsoft.Win32.Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run","MyApp",Application.ExecutablePath);但我无法删除任何值。如何删除注册表值? 最佳答案 要删除问题中设置的值:stringkeyName=@"Software\Microsoft\Windows\CurrentVer

c# - 不允许请求的注册表访问

我正在编写一个调整实用程序来修改HKEY_CLASSES_ROOT下的一些键。在WindowsXP等系统下一切正常。但是我在Windows7下遇到错误Requestedregistryaccessisnotallowed。我想也是Vista和2008。我应该如何修改我的代码以添加UAC支持? 最佳答案 app.manifest应该是这样的: 关于c#-不允许请求的注册表访问,我们在StackOverflow上找到一个类似的问题: https://stackov