| |

Fortgeschrittene ProgrammierungRe: Lange Binär-Werte aus Registry schreiben und einlesen??? | |  | Autor: Alex Englhardt | Datum: 04.09.03 12:28 |
| Na dann
Option Explicit
'*** Enumerations
'*** eRegistryRootKeys
Private Enum eRegistryRootKeys
HKEY_CLASSES_ROOT = &H80000000
HKEY_CURRENT_USER = &H80000001
HKEY_LOCAL_MACHINE = &H80000002
HKEY_USERS = &H80000003
HKEY_PERFORMANCE_DATA = &H80000004
HKEY_CURRENT_CONFIG = &H80000005
HKEY_DYN_DATA = &H80000006
End Enum
'*** eRegistryDataTypes
Private Enum eRegistryDataTypes
REG_NONE = 0 ' No value type
REG_SZ = 1 ' Unicode null terminated string
REG_EXPAND_SZ = 2 ' Unicode null terminated string
REG_BINARY = 3 ' Free form binary
REG_DWORD = 4 ' 32-bit number
REG_DWORD_LITTLE_ENDIAN = 4 ' 32-bit number (same as REG_DWORD)
REG_DWORD_BIG_ENDIAN = 5 ' 32-bit number
REG_LINK = 6 ' Symbolic Link (unicode)
REG_MULTI_SZ = 7 ' Multiple Unicode strings
REG_RESOURCE_LIST = 8 ' Resource list in the resource map
REG_FULL_RESOURCE_DESCRIPTOR = 9 ' Resource list in the hardware description
REG_RESOURCE_REQUIREMENTS_LIST = 10
End Enum
'*** RegCloseKey
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
'*** RegCreateKey
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal sSubKeyName As String, hSubKey As Long) As Long
'*** RegOpenKey
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal sSubKeyName As String, hSubKey As Long) As Long
'*** RegQueryValueEx
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal sValueName As String, ByVal lpReserved As Long, lDataType As Long, ByVal lpValue As Long, cbValue As Long) As Long
'*** RegSetValueEx
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal sValueName As String, ByVal lpReserved As Long, ByVal lDataType As Long, ByVal lpValue As Long, ByVal cbValue As Long) As Long ' Note that if you declare the lpValue parameter as String, you must pass it By Value.
Private Sub cmdLoad_Click()
Dim hSubKey As Long
Dim abData() As Byte
Dim cData As Long
If RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Test", hSubKey) = 0 Then
cData = 0
If RegQueryValueEx(hSubKey, "Binary", 0&, REG_BINARY, 0, cData) = 0 Then
If cData = 0 Then
Text1.Text = ""
Else
ReDim abData(0 To (cData - 1))
If RegQueryValueEx(hSubKey, "Binary", 0&, REG_BINARY, VarPtr(abData(0)), cData) = 0 Then
Text1.Text = StrConv(abData, vbUnicode)
End If
End If
End If
Call RegCloseKey(hSubKey)
End If
End Sub
Private Sub cmdSave_Click()
Dim hSubKey As Long
Dim abData() As Byte
Dim cData As Long
If RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Test", hSubKey) = 0 Then
If Len(Text1.Text) = 0 Then
Call RegSetValueEx(hSubKey, "Binary", 0&, REG_BINARY, 0, 0)
Else
abData = StrConv(Text1.Text, vbFromUnicode)
cData = (UBound(abData) - LBound(abData) + 1)
Call RegSetValueEx(hSubKey, "Binary", 0&, REG_BINARY, VarPtr(abData(0)), cData)
End If
Call RegCloseKey(hSubKey)
End If
End Sub
Alex |  |
 | 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 Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
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
|
|