使用VS2013和VB.NET(框架4.5),无论我做什么,我都无法检测是否存在键值。 我正在尝试检测值是否存在,如果确实存在,请使用组合框中的值进行更新,如果不存在,则添加它。

密钥为HKEY_USERS\\S-1-5-18\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\Device

我一直在修改的代码如下。 有什么想法吗?

Dim l_subKeyPath As String = "HKEY_USERS\S-1-5-18\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device"
Dim l_regKey = My.Computer.Registry.CurrentUser.OpenSubKey(l_subKeyPath)

If l_regKey Is Nothing Then
   ' if nothing then key doesn't exists
  Else
   ' key exists
End If

即使密钥存在,代码也总是返回“ Is Nothing”。

===============>>#1 票数:1 已采纳

尝试这样做。

Dim l_subKeyPath As String = "Software\Microsoft\Windows NT\CurrentVersion\Windows"
Dim l_regKey = My.Computer.Registry.CurrentUser.OpenSubKey(l_subKeyPath)

If l_regKey Is Not Nothing Then
   Dim deviceValue as String =   l_regKey.GetValue("Device")
  // 
Else
End If

您的代码有问题,因为您提供了注册表项及其值的完整路径。 此外,您的代码还包含HKEY_USers \\ S-1-5-18,如果您使用Registry.CurrentUser,则不需要此代码

  ask by George Vaisey translate from so

未解决问题?本站智能推荐:

1回复

如何使用vb.net读取受保护的注册表项

我正在使用以下代码,但是如何调用注册表似乎并不重要,我总是会在受保护的注册表项上得到默认值或失败。 有趣的是,在运行VBScript时,访问这些键没有问题。 使用WshShell进行测试时,我将“密钥”设置为HKEY_LOCAL_MACHINE\\SOFTWARE\\Microso
1回复

如何使用vb.net查询注册表项的权限

需要在HKLM配置单元中查询特定密钥以获取安全权限。 我们不想更改权限,只需将它们记录到文件中即可。 首先,我会满意使用WriteLine或msgbox在密钥上显示权限。 我是VB.net的新手。 我找不到仅添加键,修改权限的查询键的示例。 可以使用RegistryRights.Ful
3回复

如何使用VB.NET或VB6编辑注册表项?

我需要编辑注册表项并将数据值设置为“4” 我知道如何通过命令提示符,但我试图找到一些Visual Basic代码来做到这一点。 如果有帮助,这是关键: HKEY_LOCAL_MACHINE \\系统\\ CurrentControlSet \\服务\\ USBSTOR \\
1回复

无法读取注册表项的值 - VB.NET - HKLM

我正在尝试在注册表项下读取字符串的值'Connection' HKEY_Local_Machine \\ Software \\ Trebuchet \\ ServerSetup \\ Business Process Service 在VB.NET中,我试图使用以下代码读取此
6回复

使用VB.NET读写注册表

我做了一个游戏,我想将高分和其他值存储在Windows注册表中。 它是用VB.NET制作的。 有人可以给我一个简单的读取和写入注册表的示例代码示例。 谢谢
1回复

在VB.NET中获得注册表项所有权的简单方法?

我正在创建一个VB.NET应用程序,我希望该应用程序能够拥有几个注册表项的所有权。 似乎没有简单的方法可以做到这一点。 有人向我建议了一个复杂的过程,需要大约300行代码。 在我看来,从概念上讲这是一件容易的事,这需要太多的努力。 因此,是否有直接的方法来更改或获取注册表项的所有
2回复

更改FEATURE_BROWSER_EMULATION注册表项-VB.NET

我们有一个使用浏览器控件的WPF应用程序。 由于它模拟了IE的较旧版本,因此大多数网站无法正确呈现。 通过将注册表项“ OurApp.exe”和一个值11000添加到HKEY_CURRENT_USER \\ Software \\ Microsoft \\ Internet Explor
1回复

列表名称和数据形式在vb.net中的注册表项

我想在我的程序中使用vb.net从注册表项(计算机\\ HKEY_CURRENT_USER \\ Software \\ Microsoft \\ Windows \\ CurrentVersion \\ Run)中列出这个.https://imgur.com/gK8nhzm的目标是将此数据从此
1回复

如何使用VB.NET读取和写入注册表

如何使用VB 2005/2008读取,写入和删除注册表? 请给您的答案解释。 我真的是注册表新手... 谢谢。 除了vb,我看不到任何编程语言。
3回复

更改VB.NET中的注册表值

我已经进行了很多搜索以找到解决问题的方法,但是找不到任何特定的方法。 我需要更改存储在HKEY_LOCAL_MACHINE\\SOFTWARE\\APP_NAME下的值。 .NET的注册表功能有严格的限制,因此无法使用。 以下代码段可以解决我的问题: regKey.SetV