1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Problemstellung:
Diese Bsp-DB beschäftigt sich mit Lösungen um mit VB(A) die Windows Registrydatei zu lesen
bzw. bearbeiten zu können
Um mittels VB(A) mit der Registry arbeiten zu können sind eine Vielzahl von API-Funktionen erforderlich.
Alle erforderliche Aufrufe, Auflistungen und Funktionen befinden sich im Modul: mod_Registry der Bsp-DB
Um alle Funktionen zu verwenden ist es nur erforderlich das Modul in die betreffende DB zu importieren.

Aber wie geht das? Das erfahrt Ihr im Folgenden.

Voraussetzungen:
Das Bsp ist ab A00 lauffähig


Einzige Einschränkung ist unter Windows Vista das Auslesen der ProductId (s. Bsp-DB).
Dies ist nicht möglich da dieser Schlüssel nicht existiert

Funktionsweise:
Leider ist es nicht möglich den Registry-Editor zu öffnen und gleich einen ein kompletten Schlüssel mit zu geben
damit der Editor direkt dort hin springt.
Windows speichert aber den letzten aufgerufenen Schlüssel im Schlüssel:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey
Der folgende Code macht sich diesen Umstand zu nutze (s. mod_Regedit )
Unter Windws Vista tritt, eigenartigerweise, der Laufzeitfehler 5 beim Aufruf des
Registryeditors mittels Shell-Methode auf.
Deswegen ist zusätzlich die ShellExecute-Funktion mit enthalten.
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
       (ByVal Hwnd As Long, ByVal Ipoperation As String, _
        ByVal Ipfile As String, ByVal Ipparameters As String, _
        ByVal Ipdirectory As String, ByVal nshowcmd As Long) As Long
        
Public Sub Open_RegEdit(oFrm As Form, sRegkey As String)

    On Error GoTo Open_RegEdit_Error

    Dim sLastkey As String
    Dim DoOpenFile As Long

    
    sLastkey = fWertLesen(HKEY_CURRENT_USER, _
              "Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey")

    If sLastkey <> sRegkey Then
        fStringSpeichern HKEY_CURRENT_USER, _
        "Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey", sRegkey
    End If
    
    Shell ("regedit.exe")
    
    On Error GoTo 0
    Exit Sub

Open_RegEdit_Error:
    If Err.Number = 5 Then
        DoOpenFile = ShellExecute(oFrm.Hwnd, vbNullString, "regedt32.exe", _
                     vbNullString, vbNullString, 1)
    ElseIf Err.Number = 53 Then
        Shell ("regedt32.exe")
    Else
        Dim strErrString As String
        strErrString = "Error Information..." & vbCrLf
        strErrString = strErrString & "Error#: " & Err.Number & vbCrLf
        strErrString = strErrString & "Description: " & Err.Description
        MsgBox strErrString, vbCritical + vbOKOnly, _
                           "Error in procedure Open_RegEdit of Modul Regedit"
    End If
End Sub

Die Prozedur erwartet 2 Parameter.

oFrm = das Formular, meistens Me.
sRegKey = der Schlüssel zu dem gesprungen werden soll.

Zuerst wird der gespeicherte Schlüssel gelesen und mit dem übergebenen verglichen.
Sind diese ungleich wird der übergebene gespeichert und der Registryeditor geöffnet.
z.B.:

1
Open_RegEdit Me, "HKEY_CURRENT_USER\Software\TommyK\BspDB"

In der Bsp-DB sind folgende Lösungen enthalten:

1. Auslesen der Windows ProductId (nicht bei Windows Vista)
2. Auslesen des Run-Keys (Autostart der Registry)
3. Lesen, Schreiben und Löschen eines Schlüssels.
4. Bsp. zum Speichern von Formularpostionen in der Registry

Dateien:
(0 Stimmen)

Arbeiten mit der Registry

ab A00

Die Zip-Datei enthält eine Version ab A00

Datum 05.02.2018
Dateigröße 41.14 KB
Download 943

Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

1.png1.png9.png8.png0.png1.png4.png
Heute6
Gestern70
Diese Woche6
Dieser Monat1668
Total1198014

  • IP: 54.162.123.74
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

16. Juli 2018

Letzte Kommentare

  • Trusted Locations Manager

    Tommy Admin 13.07.2018 13:06
    RE: Trusted Locations Manager
    Hallo Matthias, aus Ermangelung einer 64bit Version kann ich das leider nicht prüfen. Tut mir leid. Gruss ...

    Weiterlesen...

     
  • Trusted Locations Manager

    Matthias 13.07.2018 06:48
    Funktioniert nicht
    Habe gerade den TL-Manager installiert. Nach dem Start sagt er mir, dass es kein Office erkennen ...

    Weiterlesen...