| |
VB.NET - FortgeschritteneRe: 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.
| |
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: 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: 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 |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere 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
|
|