| |
VB.NET - FortgeschritteneRegistryKey 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: Wasi_LE | Datum: 01.02.23 19:06 |
| Das hilft nicht wirkliche weiter. Es unterscheidet sich von meiner Lösung quasi gar nicht. | |
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! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 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
|
|