0

レジストリを使用して、作業中のアプリの構成データを保存していますが、サブフォルダーの作成方法に苦労しています。

次に例を示します。

HKEY_CURRENT_USERに会社名用のフォルダーを作成し、次のようなアプリの 1 つを作成しました。

HKEY_CURRENT_USER/Company/App_Name

そのフォルダー内にキーを作成できますが、できないように見えるのは、その中にさらにフォルダーを作成することです。

HKEY_CURRENT_USER/Company/App_Name/midiDevice

特定のデバイスに関連するキーを保存できるようにします。これが私が達成しようとしていることです:

HKEY_CURRENT_USER/Company/App_Name
HKEY_CURRENT_USER/Company/App_Name/useMidi
HKEY_CURRENT_USER/Company/App_Name/activeMidiDevice

HKEY_CURRENT_USER/Company/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/Company/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