| |
VB.NET - FortgeschritteneRe: RegistryKey aus CurrentUser lesen und nicht aus USERS | | | Autor: Wasi_LE | Datum: 01.02.23 19:06 |
| Das hilft nicht wirkliche weiter. Es unterscheidet sich von meiner Lösung quasi gar nicht. | |
RegistryKey aus CurrentUser lesen und nicht aus USERS | | | Autor: Wasi_LE | Datum: 31.01.23 19:34 |
| Hallo Forum,
ich möchte gerne einen RegistryKey lesen/löschen/schreiben. Der Schlüssel steht im Hive CurrentUser. Leider werde ich immer umgeleitet in den Hive Users, auch wenn ich mit OpenBase arbeite...
Dim RKx As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, _
RegistryView.Default).OpenSubKey( _
"SOFTWARE\Microsoft\Office\16.0\Excel\Options", True)
MsgBox(RKx.ToString) '-> es wird richtiger Weise HKEY_CurrentUsers\SOFTWARE (
' ...) gepromptet
If RKx IsNot Nothing Then
MsgBox(RKx.ValueCount) '-> es wird leider die Anzahl der Values aus dem
' HKEY_Users-Abschnitt gepromptet und nicht die Anzahl der Vaules aus dem
' HKEY_CurrentUsers-Abschnitt
For Each ItemX In RKx.GetValueNames()
MsgBox(ItemX.ToString)
MsgBox(RKx.GetValue(ItemX).ToString)
If InStr(RKx.GetValue(ItemX).ToString, "MeinWertDenIchLöschenWill") Then _
RKx.DeleteValue(ItemX) '-> wird nicht gefunden, weil er im
' HKEY_CurrentUser steht, aber nicht im HKey_Users ...
Next
End If Hat jemand eine Erklärung und/oder einen Lösung für das Problem?
Vielen Dank.
A. | |
Re: RegistryKey aus CurrentUser lesen und nicht aus USERS | | | Autor: emaNoN | Datum: 01.02.23 05:23 |
| Private Sub SetRegistryHKCUValue(strSubkey As String, strName As String, _
strValue As String)
Dim regKey As RegistryKey
regKey = Registry.CurrentUser.OpenSubKey(strSubkey, True)
If IsNothing(regKey) Then
regKey = Registry.CurrentUser.CreateSubKey(strSubkey)
End If
regKey.SetValue(strName, strValue)
End Sub Private Function GetRegistryHKCUValue(strSubkey As String, strValue As _
String) As String
Dim regKey As RegistryKey
If Not IsNothing(Registry.CurrentUser.OpenSubKey(strSubkey)) Then
regKey = Registry.CurrentUser.OpenSubKey(strSubkey)
Return CStr(regKey.GetValue(strValue))
Else
Return ""
End If
End Function | |
Re: RegistryKey aus CurrentUser lesen und nicht aus USERS | | | Autor: emaNoN | Datum: 02.02.23 07:56 |
| „Es unterscheidet sich von meiner Lösung quasi gar nicht“
Stimmt irgenwie. Ich habe das bei mir 'mal nachgebaut.
Imports Microsoft.Win32
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
Button1.Click
Dim RKx As RegistryKey = RegistryKey.OpenBaseKey( _
RegistryHive.CurrentUser,
RegistryView.Default).OpenSubKey( _
"SOFTWARE\Microsoft\Office\12.0\Excel\Options", True)
Label1.Text = RKx.ValueCount
Label2.Text = RKx.ToString
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles _
Button2.Click
Dim RKx As RegistryKey = Registry.CurrentUser.OpenSubKey( _
"SOFTWARE\Microsoft\Office\12.0\Excel\Options", True)
Label3.Text = RKx.ValueCount
Label4.Text = RKx.ToString
End Sub
End Class Beide Versionen geben mir dieselben (richtigen) Ergebnisse zurück.
| |
Re: RegistryKey aus CurrentUser lesen und nicht aus USERS | | | Autor: Wasi_LE | Datum: 04.02.23 07:41 |
| Guten Morgen,
ich habe eine Vermutung ... die Prozedur, die bei mir die Schlüssel liest, wird in einem InstallerProjekt ausgeführt. Ich vermute, das der Installer einer andere Identität bekommt als der CurrentUser. Weiß da jemand was ?
vG | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|