Code doesn't work on windows 2000
Author |
Message |
Cees Harlaa #1 / 3
|
 Code doesn't work on windows 2000
Hi all, Here you will find a function I wrote to change a value in the registry. It returns false displaying the mesagebox with the text "Wijzigen sleutel mislukt". The key has not changed. Obviously I don't want it to fail. How to solve this one. Appleman refers to online api reference, but I don't know were to look for it. -- Cees Harlaar verander HL in NL om e-mail te sturen change HL in NL te send e-mail. Private Function ChangeRegTo30() As Boolean Dim lResultaat As Long Dim lKeyHandle As Long 'register sleutel openen lResultaat = RegOpenKeyEx(HKEY_LOCAL_MACHINE, FICS_KEY, 0, KEY_READ, lKeyHandle) If lResultaat <> ERROR_SUCCES Then MsgBox "Openen registersleutel mislukt.", vbCritical, "ChangeRegTo30" ChangeRegTo30 = False Exit Function End If lResultaat = RegSetValueEx(lKeyHandle, "BinLevel", 0, REG_SZ, "03.00", 5) lResultaat = RegSetValueEx(lKeyHandle, "Version", 0, REG_SZ, "Version 03.00", 13) If lResultaat <> ERROR_SUCCES Then --->>> 'executes on windows 2000, not yet tested on NT4 MsgBox "Wijzigen sleutel mislukt", vbCritical, "ChangeRegto30" lResultaat = RegCloseKey(HKEY_LOCAL_MACHINE) ChangeRegTo30 = False Exit Function End If lResultaat = RegCloseKey(HKEY_LOCAL_MACHINE) If lResultaat <> ERROR_SUCCES Then MsgBox "Sluiten sleutel mislukt", vbInformation, "ChangeRegto30" End If ChangeRegTo30 = True End Function
|
Sat, 07 Jun 2003 14:41:03 GMT |
|
 |
Quorto #2 / 3
|
 Code doesn't work on windows 2000
Naast de opmerking van Ton Plooy, nog een paar opmerkingen : Quote: > 'register sleutel openen > lResultaat = RegOpenKeyEx(HKEY_LOCAL_MACHINE, FICS_KEY, 0, KEY_READ, > lKeyHandle) > If lResultaat <> ERROR_SUCCES Then > MsgBox "Openen registersleutel mislukt.", vbCritical, "ChangeRegTo30" > ChangeRegTo30 = False > Exit Function > End If > lResultaat = RegSetValueEx(lKeyHandle, "BinLevel", 0, REG_SZ, "03.00", 5) > lResultaat = RegSetValueEx(lKeyHandle, "Version", 0, REG_SZ, "Version > 03.00", 13)
Je moet ipv KEY_READ, KEY_WRITE gebruiken, aangezien je keys toevoegd en niet leest. Quote: > MsgBox "Wijzigen sleutel mislukt", vbCritical, "ChangeRegto30" > lResultaat = RegCloseKey(HKEY_LOCAL_MACHINE) > ChangeRegTo30 = False
Je moet niet HKEY_LOCAL_MACHINE closen, maar lKeyHandle, dat is de handle van de key die je geopend hebt en dus ook moet sluiten.
|
Mon, 09 Jun 2003 20:32:35 GMT |
|
 |
Cees Harlaa #3 / 3
|
 Code doesn't work on windows 2000
Quote: > Naast de opmerking van Ton Plooy, nog een paar opmerkingen : > > 'register sleutel openen > > lResultaat = RegOpenKeyEx(HKEY_LOCAL_MACHINE, FICS_KEY, 0, KEY_READ, > > lKeyHandle) > > If lResultaat <> ERROR_SUCCES Then > > MsgBox "Openen registersleutel mislukt.", vbCritical, "ChangeRegTo30" > > ChangeRegTo30 = False > > Exit Function > > End If > > lResultaat = RegSetValueEx(lKeyHandle, "BinLevel", 0, REG_SZ, "03.00", 5) > > lResultaat = RegSetValueEx(lKeyHandle, "Version", 0, REG_SZ, "Version > > 03.00", 13) > Je moet ipv KEY_READ, KEY_WRITE gebruiken, aangezien je keys toevoegd en > niet leest. > > MsgBox "Wijzigen sleutel mislukt", vbCritical, "ChangeRegto30" > > lResultaat = RegCloseKey(HKEY_LOCAL_MACHINE) > > ChangeRegTo30 = False > Je moet niet HKEY_LOCAL_MACHINE closen, maar lKeyHandle, dat is de handle > van de key die je geopend hebt en dus ook moet sluiten.
(In English on behalf of the readers in: comp.lang.basic.visual.misc) You are right I guess and I will try it out after the hollidays. -- Cees Harlaar verander HL in NL om e-mail te sturen change HL in NL te send e-mail.
|
Wed, 11 Jun 2003 17:35:11 GMT |
|
|
|