len*_*iep 1 vb.net registry uac
我已经搜索了很多,以找到解决我的问题的方法,但我找不到任何具体的解决方案.
我需要更改存储在下面的值HKEY_LOCAL_MACHINE\SOFTWARE\APP_NAME.不可能使用.NET的注册表功能,因为它们有严格的限制.
以下代码片段可以解决我的问题:
Dim regKey As RegistryKey
Dim ver As Decimal
regKey = My.Computer.Registry.LocalMachine.OpenSubKey("HKEY_LOCAL_MACHINE\SOFTWARE\APP_NAME", True)
Run Code Online (Sandbox Code Playgroud)
regKey.SetValue("IP","192.168.10.15:15800")regKey.Close()
不幸的是,当我尝试设置值时,我得到一个NullReferenceExeption.
我该怎么办?我导入了Microsoft.Win32,RegistryKey不接受任何构造函数.
从密钥名称中删除"HKEY_LOCAL_MACHINE",该名称已在代码中的LocalMachine成员中涵盖.
请注意,此代码无法在常规Vista或Win7计算机上运行,因此无法在启用UAC的情况下打开此密钥进行写入.您需要一个需要管理员权限的清单.写信给My.Computer.Registry.CurrentUser.
如果在64位版本的Windows上运行此操作,则更复杂的是注册表虚拟化.32位程序将从HKLM\Software\Wow6432Node读取和写入HKLM\Software密钥.