vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
...von A-Z... 
Autor: ModeratorDieter (Moderator)
Datum: 22.06.01 23:55

Hallo Dirk,

also die Quellen, die ich Dir genannt habe, funktionieren einwandfrei. Hier eine Kurzanleitung - da Du ja keine EMail-Adresse angegeben hast - sonst hätte ich Dir das Demo mal gemailt.

Erstelle ein neues Projekt und füge gleich mal ein Modul ein:
In das Modul "packst" Du den komplette Source des Tipps Durchsuchen der Registry (das abschließende Beispiel im Tipp lässt Du aber weg).

Nun zur Form:
Es wird eine Textbox (Text1) benötigt, dazu noch eine Liste (List1), direkt darunter ein Label (Label2), sowie drei CommandButtons (Command1, Command2, Command3). Und hier der Source:
<code>Option Explicit
Private Declare Function RegDeleteValue Lib "advapi32.dll" _
  Alias "RegDeleteValueA" (ByVal hKey As Long, _
  ByVal lpValueName As String) As Long
 
Private Declare Function RegCloseKey Lib "advapi32.dll" _
  (ByVal hKey As Long) As Long
 
Private Declare Function RegCreateKey Lib "advapi32.dll" _
  Alias "RegCreateKeyA" (ByVal hKey As Long, _
  ByVal lpSubKey As String, phkResult As Long) As Long
 
<font color=green>' Starten der Suche</font>
Private Sub Command1_Click()
  Dim SO As SearchOptions
  Dim Gefunden() As String
  Dim I As Integer
 
  Command1.Enabled = False
  List1.Clear
 
  With SO
    <font color=green>'Exakte Suche</font>
    .HowToSearch = StringExists
    <font color=green>'Abschnitt "Locale Machine"</font>
    .SearchMainKey = HKEY_LOCAL_MACHINE
    <font color=green>'Nach Text1 suchen</font>
    .SearchString = Text1.Text
    <font color=green>'Starten: ganz vorne</font>
    .StartSearchPath = ""
    <font color=green>'Unterordner durchsuchen</font>
    .SearchSubfolders = True
    <font color=green>'KeyNames suchen</font>
    .FindKeys = True
    <font color=green>'ValueNames Suchen</font>
    .FindValueNames = True
    <font color=green>'Values Suchen</font>
    .FindValues = True
  End With
 
  StopSearch = False
  Label2.Caption = "Suche..."
  DoEvents
 
  <font color=green>'Suche starten</font>
  FindString SO, Gefunden
  Label2.Caption = "Einen moment bitte..."
  DoEvents
 
  <font color=green>'Falls nichts gefunden</font>
  On Error Resume Next
  List1.Clear
  For I = 0 To UBound(Gefunden)
    <font color=green>'StartSearchPath durch ".." ersetzen
    'und in die Lisbox übertragen</font>
    List1.AddItem Replace(Gefunden(I), _
      SO.StartSearchPath, "..", 1, 1)
  Next I
  Label2.Caption = "Gefunden: " & List1.ListCount
  Command1.Enabled = True
End Sub
 
<font color=green>'Stoppen der Suche</font>
Private Sub Command2_Click()
 StopSearch = True
End Sub
 
<font color=green>' Eintrag aus Registry löschen</font>
Private Sub Command3_Click()
  Dim KeyName As String
  Dim ValueName As String
  Dim Daten() As String
  Dim vRet As Variant
 
  Daten = Split(List1.List(List1.ListIndex), vbCrLf)
 
  KeyName = Daten(0)
  ValueName = Daten(1)
 
  If MsgBox("Wirklich löschen?", 292) = vbYes Then
    RegCreateKey HKEY_LOCAL_MACHINE, KeyName, vRet
    RegDeleteValue vRet, ValueName
    RegCloseKey vRet
    List1.RemoveItem List1.ListIndex
  End If
End Sub
 
Private Sub List1_Click()
  Command3.Enabled = (List1.ListIndex >= 0)
End Sub
 
Private Sub List1_GotFocus()
  Command3.Enabled = (List1.ListIndex >= 0)
End Sub</code>
Starte das Projekt (F5) und trage nun den gesuchten Begriff in die Textbox ein. Klicke auf Command1, um den Suchvorgang zu starten. Die Suche kann eine ganze Weile dauern (wenn's Dir zu lange dauert, kannst Du den Vorgang jederzeit über Command2 abbrechen). Wurden Einträge gefunden, werden diese in der Liste angezeigt. Wählen nun den zu löschenden Eintrag aus und klicke auf Command3. Nach Bestätigung der Löschabfrage wird der Eintrag aus der Registry entfernt!

Viel Spaß beim Löschen!

Cu
Dieter

Übrigens:
Die Löschfunktion ist ein Auszug auf dem Tipp: Registry im Griff
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Registry!106Dirk22.06.01 13:43
...von A-Z...323ModeratorDieter22.06.01 23:55

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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