0

我正在使用注册表来存储我正在开发的应用程序的一些配置数据,并且我正在努力研究如何创建子文件夹。

这是一个例子:

HKEY_CURRENT_USER我为我的公司名称创建了一个文件夹,然后我的应用程序之一是这样的:

HKEY_CURRENT_USER/Company/App_Name

我可以在该文件夹中创建一个密钥,但我似乎无法在其中创建另一个文件夹,例如

HKEY_CURRENT_USER/Company/App_Name/midiDevice

这样我就可以存储与特定设备相关的密钥。这是我想要实现的目标:

HKEY_CURRENT_USER/公司/App_Name
HKEY_CURRENT_USER/Company/App_Name/useMidi
HKEY_CURRENT_USER/Company/App_Name/activeMidiDevice

HKEY_CURRENT_USER/公司/App_Name/midiDevice1/
HKEY_CURRENT_USER/Company/App_Name/midiDevice1/setting1
HKEY_CURRENT_USER/Company/App_Name/midiDevice1/setting2
HKEY_CURRENT_USER/Company/App_Name/midiDevice1/setting3

HKEY_CURRENT_USER/公司/App_Name/midiDevice2/
HKEY_CURRENT_USER/Company/App_Name/midiDevice2/setting1
HKEY_CURRENT_USER/Company/App_Name/midiDevice2/setting2
HKEY_CURRENT_USER/Company/App_Name/midiDevice2/setting3

这是我的代码:

' Set flag to indicate that we need to use MIDI to control program and store device name
Dim registryPath As String = "HKEY_CURRENT_USER\Software\CompanyName\App_Name\"
My.Computer.Registry.SetValue(registryPath, "useMidi", True)
My.Computer.Registry.SetValue(registryPath, "activeMidiDevice", deviceName)

' Create device specific path to store settings
registryPath = "HKEY_CURRENT_USER\Software\CompanyName\App_Name\" & deviceName & "\"
Console.WriteLine("Path: " & registryPath)

' Write this to the registry
My.Computer.Registry.CurrentUser.CreateSubKey(registryPath)
My.Computer.Registry.SetValue(registryPath, "setting1", value1)
My.Computer.Registry.SetValue(registryPath, "setting2", value2)
My.Computer.Registry.SetValue(registryPath, "setting3", value3)

此代码仅在同一注册表文件夹中创建所有键:HKEY_CURRENT_USER\Software\CompanyName\App_Name\

我确信这是微不足道的(我从检查注册表中知道)这是可能的,但我做错了什么?

4

0 回答 0