vb.net을 사용하여 Windows 응용 프로그램을 개발 중입니다. 이제 레지스트리에 HKEY_CURRENT_USER\SOFTWARE\MYAPP
의 7 개 값을 추가하고 싶습니다.반복없이 레지스트리 키 아래에서 7 개의 레지스트리 값 만들기
각 값 (7 개 중)은 하위 키에없는 경우에만 추가해야합니다.
결국 나는 MYAPP
SUBKEY 아래에서만 7을보고 싶습니다. 어떻게해야합니까? 도움이 필요해.
vb.net을 사용하여 Windows 응용 프로그램을 개발 중입니다. 이제 레지스트리에 HKEY_CURRENT_USER\SOFTWARE\MYAPP
의 7 개 값을 추가하고 싶습니다.반복없이 레지스트리 키 아래에서 7 개의 레지스트리 값 만들기
각 값 (7 개 중)은 하위 키에없는 경우에만 추가해야합니다.
결국 나는 MYAPP
SUBKEY 아래에서만 7을보고 싶습니다. 어떻게해야합니까? 도움이 필요해.
RegistryKey
개체의 GetValue
을 사용하고 결과가 Nothing
인 경우 값이 존재하지 않으면 결과를 테스트 할 수 있습니다.
다음은 작동시켜야하는 완전한 예입니다. 당신이 필요 관리자 권한이 시스템 권한에 따라 키와 값을 만들 수 있습니다 :
Dim myAppKey = Microsoft.Win32.RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, Microsoft.Win32.RegistryView.Default)
If myAppKey Is Nothing Then Throw New Exception("Failed to open registry")
Dim subKeyName = "SOFTWARE\MYAPP"
'attempt to open the subkey with write acces because we need this if we are creating values
Dim subKey = myAppKey.OpenSubKey(subKeyName, True)
If subKey Is Nothing Then
'create the sub key because it doesn't exist
myAppKey.CreateSubKey(subKeyName)
're open the new key
subKey = myAppKey.OpenSubKey(subKeyName, True)
End If
'create values in a loop for testing
For i = 0 To 6
If subKey.GetValue("Value" & i) Is Nothing Then
'value does not exist so create it
subKey.SetValue("Value" & i, i)
End If
Next
매트, 이것은 매력처럼 작동합니다. 도와 주셔서 감사합니다. – Chata
당신은 환영합니다 -이 대답이 당신을 도왔다면 또한 upvote 바랍니다 –
내가 VB.NET하지 않지만 "keyexists"와 같은 기능이 상상할 것입니다. 'Keyexists ('YourKey ')가 아니라면 ...'키를 추가하거나 계속 진행하십시오. –
Windows 레지스트리의 구조는 키에 값이있는 valuename이 있다는 것입니다. 그리고 나는 다른 값을 가진 새로운 값 (키가 아님)을 프로그래밍 방식으로 생성하려고합니다. – Chata
동일해야 valueexist ... 등이 링크가 적용되어야합니다.이 링크는 델파이지만 도움이 될 수도 있습니다. http://stackoverflow.com/questions/16938305/how-to-check-if-a-registry-key-exists –