PDA

View Full Version : Quick HELP VB6: creare una variabile REG_DWORD sotto una chi


SimoneLucca
18-10-2002, 10:02
come posso creare una variabile nella chiave:
HKEY_LOCAL_MACHINE\software\xxx\yyy\
la variabile si chiama: "VARAIBILE"
di tipo:........... REG_DWORD
ed il valore č:.... 1

P.S. A me viene un REG_NONE!
E non mi prende il parametro REG_DWORD:

Const HKEY_LOCAL_MACHINE = &H80000002
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
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult 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 RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Private Sub Form_Load()
Dim Ret As Long
RegCreateKey HKEY_LOCAL_MACHINE, "software\xxx\yyy", Ret
RegSetValueEx Ret, "VARAIBILE", 0, REG_DWORD, "1", 4
RegCloseKey Ret
End Sub

cionci
18-10-2002, 14:32
Te gli passi "1" che un valore valido solo per le chiavi di tipo stringa...

Gli devi passare un intero, ma non per valore...gli dovresti passare l'indirizzo di un buffer che contine un intero di valore 1...

In C dovresti fare una cosa del genere :

DWORD x = 1;
RegSetValueEx(Ret, "VARAIBILE", 0, REG_DWORD, &x, 4);

Mi dispiace, ma non so come si puņ fare in VB...

SimoneLucca
18-10-2002, 17:18
ok cionci!
Non ti ringrazio +!
... grazie!