vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 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

Suche Visual-Basic Code
Mal sehen, ob es das ist, was Du meinst 
Autor: ModeratorDieter (Moderator)
Datum: 01.10.01 22:20

Hi Claus,

ich hab' mich eben mal hingesetzt und folgendes zusammengetragen
<code>Option Explicit
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias _
  "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, _
  ByVal ulOptions As Long, ByVal samDesired As Long, _
  phkResult As Long) As Long
 
Private Declare Function RegEnumValue Lib "advapi32.dll" Alias _
  "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, _
  ByVal lpValueName As String, lpcbValueName As Long, _
  ByVal lpReserved As Long, lpType As Long, lpData As Byte, _
  lpcbData As Long) As Long
 
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias _
  "RegQueryValueExA" (ByVal hKey As Long, _
  ByVal lpValueName As String, ByVal lpReserved As Long, _
  lpType As Long, lpData As Any, lpcbData As Long) As Long
 
Private Declare Function RegCloseKey Lib "advapi32.dll" _
  (ByVal hKey As Long) As Long
 
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_CONFIG = &H80000005
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
 
Const KEY_QUERY_VALUE = &H1
 
Const REG_SZ = 1
Const ERROR_SUCCESS = 0
 
Private Sub Command1_Click()
  Dim sValues() As String
  Dim I As Integer
 
  sValues = Reg_GetAllKeys(HKEY_CURRENT_USER, _
    "SoftwareMicrosoftWindowsCurrentVersionRun")
 
  For I = 0 To UBound(sValues)
    List1.AddItem sValues(I)
  Next I
End Sub
 
Public Function Reg_GetAllKeys(ByVal hKey As Long, _
  ByVal sFolder As String) As Variant
 
  Dim sKeyName As String
  Dim sBuffer As String
  Dim bLen As Long
  Dim lType As Long
  Dim lHandle As Long
  Dim lResult As Long
  Dim nCount As Long
  Dim tmp(0 To 254) As Byte
  ReDim sValues(0) As String
 
  lResult = RegOpenKeyEx(hKey, sFolder, 0&, _
    KEY_QUERY_VALUE, lHandle)
  If lResult = ERROR_SUCCESS Then
    nCount = 0
    Do
      sKeyName = Space(255)
      lResult = RegEnumValue(lHandle, nCount, sKeyName, _
        Len(sKeyName), 0&, 0&, tmp(0), 256)
      If lResult <> ERROR_SUCCESS Then Exit Do
 
      <font color=green>' Schlüsselname</font>
      ReDim Preserve sValues(nCount)
      sKeyName = Left$(sKeyName, InStr(sKeyName, _
        vbNullChar) - 1)
 
      <font color=green>' Wert des Schlüssels</font>
      sBuffer = Space$(255)
      bLen = Len(sBuffer)
      lType = REG_SZ
      lResult = RegQueryValueEx(lHandle, sKeyName, 0&, _
        lType, ByVal sBuffer, bLen)
      If lResult = ERROR_SUCCESS Then
        sBuffer = Left$(sBuffer, bLen)
        While Right$(sBuffer, 1) = Chr$(0)
          sBuffer = Left$(sBuffer, Len(sBuffer) - 1)
        Wend
      Else
        sBuffer = ""
      End If
 
      sValues(nCount) = sKeyName + ";" + sBuffer
      nCount = nCount + 1
    Loop
    RegCloseKey lHandle
  End If
 
  Reg_GetAllKeys = sValues
End Function</code>
Um das Beispiel auszuprobieren, plaziere auf eine Form ein CommandButton (Command1) und eine ListBox (List1). Dann noch obigen Code einfügen und STARTEN. Das Beispiel listet alle Schlüsselnamen und Werte des Zweigs RUN in SoftwareMicrosoftWindowsCurrentversion auf.

Cu
Dieter
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
helft mir bitte84Claus01.10.01 10:42
Re: helft mir bitte43BattleLord01.10.01 11:59
das mein ich nicht37Claus01.10.01 14:53
Mal sehen, ob es das ist, was Du meinst285ModeratorDieter01.10.01 22:20
Re: Mal sehen, ob es das ist, was Du meinst35Claus02.10.01 15:38
Na dann ist ja gut (oT)220ModeratorDieter02.10.01 15:54
Re: das mein ich nicht38brave@heart01.10.01 22:14

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