Ik ben net begonnen met VB dus het kan zijn dat ik iets heel banaals over het hoofd ziet, maar het lukt me gewoon niet om een key toe te voegen aan het register.
Ik heb dit zover:
Het vreemde is ook dat bij phkResult en lpdwDisposition ByVal er altijd bij komt te staan, ook verwijder ik het??
De code die iets toe zou moeten voegen is het volgende ongeveer"
Als ik dit draai, krijg lRetVal de waarde 5317272591663191 dus iets gaat zeker fout, de registry key verschijnt dan ook niet. Ik heb al een heleboel voorbeeldcode geprobeerd, maar geen een werkte. Er moet wel RegCreateKeyEx gebruikt worden, dus geen WSH, of de .NET framework registry functies.
Ik heb dit zover:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| Public Enum regPredefinedKey
HKEY_CLASSES_ROOT = &H80000000
HKEY_CURRENT_USER = &H80000001
HKEY_LOCAL_MACHINE = &H80000002
HKEY_USERS = &H80000003
End Enum
Public Enum regError
ERROR_SUCCESS = 0
ERROR_ACCESS_DENIED = 8
ERROR_INVALID_PARAMETERS = 87
ERROR_NO_MORE_ITEMS = 259
// bla bla bla bla nog meer
End Enum
Const KEY_ALL_ACCESS As Long = &H3F
Const REG_OPTION_NON_VOLATILE = 0
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, _
ByVal lpSecurityAttributes As Long, _
ByVal phkResult As Long, _
ByVal lpdwDisposition As Long) As Long |
Het vreemde is ook dat bij phkResult en lpdwDisposition ByVal er altijd bij komt te staan, ook verwijder ik het??
De code die iets toe zou moeten voegen is het volgende ongeveer"
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Dim hNewKey As Long '-- Handle to the new key
Dim lRetVal As Long '-- Result of the RegCreateKeyEx function
lRetVal = RegCreateKeyEx(regPredefinedKey.HKEY_CURRENT_USER, _
"Software\AAAAA", _
0&, _
vbNullString, _
REG_OPTION_NON_VOLATILE, _
KEY_ALL_ACCESS, _
0&, _
hNewKey, _
lRetVal)
If lRetVal <> regError.ERROR_SUCCESS Then
MsgBox("Unable to create key")
End If |
Als ik dit draai, krijg lRetVal de waarde 5317272591663191 dus iets gaat zeker fout, de registry key verschijnt dan ook niet. Ik heb al een heleboel voorbeeldcode geprobeerd, maar geen een werkte. Er moet wel RegCreateKeyEx gebruikt worden, dus geen WSH, of de .NET framework registry functies.
[ Voor 9% gewijzigd door Darkvater op 25-02-2004 00:46 ]
Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge