can someone please tell me how to add something to the registary. Please dont put links to tutorials and stuff, what I need is a simple code that will save text.text to the registary, it contains 1 character.
please help
thanks in advance
Printable View
can someone please tell me how to add something to the registary. Please dont put links to tutorials and stuff, what I need is a simple code that will save text.text to the registary, it contains 1 character.
please help
thanks in advance
To save a retrieve values from the Registry:
UsageCode:Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hkey As Long) As Long
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hkey As Long, ByVal lpSubKey As String) As Long
Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hkey As Long, ByVal lpValueName As String) As Long
Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
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
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
Function RegQueryStringValue(ByVal hkey As Long, ByVal strValueName As String)
Dim lResult As Long
Dim lValueType As Long
Dim strBuf As String
Dim lDataBufSize As Long
On Error GoTo 0
lResult = RegQueryValueEx(hkey, strValueName, 0&, lValueType, ByVal 0&, lDataBufSize)
If lResult = ERROR_SUCCESS Then
If lValueType = REG_SZ Then
strBuf = String(lDataBufSize, " ")
lResult = RegQueryValueEx(hkey, strValueName, 0&, 0&, ByVal strBuf, lDataBufSize)
If lResult = ERROR_SUCCESS Then
RegQueryStringValue = StripTerminator(strBuf)
End If
End If
End If
End Function
Public Function GetString(hkey As Long, strpath As String, strvalue As String)
Dim keyhand&
Dim datatype&
r = RegOpenKey(hkey, strpath, keyhand&)
GetString = RegQueryStringValue(keyhand&, strvalue)
r = RegCloseKey(keyhand&)
End Function
Function StripTerminator(ByVal strString As String) As String
Dim intZeroPos As Integer
intZeroPos = InStr(strString, Chr$(0))
If intZeroPos > 0 Then
StripTerminator = Left$(strString, intZeroPos - 1)
Else
StripTerminator = strString
End If
End Function
Public Sub savestring(hkey As Long, strpath As String, strvalue As String, strdata As String)
Dim keyhand&
r = RegCreateKey(hkey, strpath, keyhand&)
r = RegSetValueEx(keyhand&, strvalue, 0, REG_SZ, ByVal strdata, Len(strdata))
r = RegCloseKey(keyhand&)
End Sub
Use the Functions GetString and SaveString to retrieve and save values to the Registry. Here is an example. Make a Form with 2 CommandButtons's and put the following code into them.
Code:Private Sub Command1_Click()
'Save a Value to the Registry
savestring HKEY_CURRENT_USER, "Software\Myapp", "Testing", "Hello"
End Sub
Private Sub Command2_Click()
'Get a value from the Registry
Retval = GetString(HKEY_CURRENT_USER, "Software\Myapp", "Testing")
Print Retval
End Sub
Thanks alot Megatron!!!! I have 1 more question, before when I had it in txt files, I use encryption, is it still nessesary? or not any more? Or do you suggest to use encryption?
this is what I have for the command buttons:
now, how do I get what ever I put in text1.text to appear in text2.text (from the registary)Code:Private Sub Command1_Click()
'Save a Value to the Registry
savestring HKEY_CURRENT_USER, "Software\Pc Protecter", Text1.Text
End Sub
Private Sub Command2_Click()
'Get a value from the Registry
Retval = GetString(HKEY_CURRENT_USER, "Software\Pc Protecter")
Print Retval
End Sub
Try this.
Code:Text2.Text = GetString(HKEY_CURRENT_USER, "Software\Pc Protecter")
it doesn't work I get an error message:
Code:
Private Sub Command1_Click()
'Save a Value to the Registry
'**********************************
'error: argument no optional
savestring HKEY_CURRENT_USER, "Software\Pc Protecter", Text1.Text
'**********************************
End Sub
________________________________________________
Private Sub Command2_Click()
'Get a value from the Registry
' Retval = GetString(HKEY_CURRENT_USER, "Software\Pc Protecter")
' Print Retval
Text2.Text = GetString(HKEY_CURRENT_USER, "Software\Pc Protecter")
End Sub
That's because you are missing the last argument. If you do not want to use it, just pass a blank string
Code:savestring HKEY_CURRENT_USER, "Software\Pc Protecter", Text1.Text, "" 'If you want, you can also pass vbNullString
no erros come up but it still doesn't work
can you do me a favor, make a simple program that has 2 text boxes and 2 command boxes, and the registary code, and email me the source. my email is [email protected], if its too much work then forget about it, oh and please post if you can or can not.
I looked at the above code and saw that you have not included your blank string, make sure to include it.
Code:savestring HKEY_CURRENT_USER, "Software\Pc Protecter", Text1.Text, ""
Code:Text2.Text = GetString(HKEY_CURRENT_USER, "Software\Pc Protecter", "YourValueHere")
I just realized that maybe it's confusion. When you enter the path, you do not include the value. The value has it's own argument (the 3rd one).
Also, I just sent you the example.
[Edited by Megatron on 07-27-2000 at 05:11 PM]
thanks
did you already send it becuase i didn't recieve it yet, please email it to [email protected]
Kalong.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon\LegalNoticeText", "0000000000000"
Did you mean to respond to a thread that was 7 years old? In any case if you want a simple way to use the Registry take a look at the How to use SaveSetting and GetSetting link in my signature.