Tja 1. Du ska använda RegCreateKeyEx. Om man ska använda RegCreateKeyEx så ser funktionen ut så här: > vad gör man åt "lpSecurityAttributes As SECURITY_ATTRIBUTES" HejLäsa ur registret
Tänkte jag skulle läsa lite grejer ur registret och då använder jag AdvApi och:
Dim Return As Long
Dim phkResult as Long
Return = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Temp\VbAPI", phkResult)
Men det vill sig inte, får bara returvärde 6 och om man kollar i winerror.h betyder detta att "The storage control blocks were destroyed."?? mycket mysko Någon som vet varför??
Mvh
/HSv: Läsa ur registret
2. Du kan inte använda sökvägar i registret, utan du måste öppna nycklarna i tur och ordning. Alltså först RegOpenKeyEx på HKLM och sedan på Software, osv.Sv: Läsa ur registret
Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long
vad gör man åt "lpSecurityAttributes As SECURITY_ATTRIBUTES" som skall deffas?? Det var därför jag valde RegCreateKey för att slippa den ( i c++ använder jag alltid RegCreateKeyEx).
Måste man verkligen öppna steg för steg som du skrev i 2an verkar mystiskt tycker jag för så är det inte i C++ och det är ju i grunden samma funktion ur AdvApi???
/H Sv: Läsa ur registret
> som skall deffas??
NULL.
> Måste man verkligen öppna steg för steg som du skrev i 2an verkar
> mystiskt tycker jag för så är det inte i C++
Ser nu att CreateKeyEx är ett undantag. Det visste jag faktiskt inte. Men då är nog felet att du inte har escapat backslashen:
"SOFTWARE\\Temp\\VbApi" ska det vara.Sv: Läsa ur registret
> vad gör man åt "lpSecurityAttributes As SECURITY_ATTRIBUTES
Lägg denna def på Modulnivå Form General
Private Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
mvh
Sven