Results 1 to 14 of 14

Thread: using the registary

  1. #1

    Thread Starter
    Frenzied Member
    Join Date
    Jun 2000
    Location
    East Providence, RI
    Posts
    1,715
    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
    NXSupport - Your one-stop source for computer help

  2. #2
    Guest
    To save a retrieve values from the Registry:

    Code:
    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
    Usage
    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

  3. #3

    Thread Starter
    Frenzied Member
    Join Date
    Jun 2000
    Location
    East Providence, RI
    Posts
    1,715
    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?
    NXSupport - Your one-stop source for computer help

  4. #4

    Thread Starter
    Frenzied Member
    Join Date
    Jun 2000
    Location
    East Providence, RI
    Posts
    1,715
    this is what I have for the command buttons:

    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
    now, how do I get what ever I put in text1.text to appear in text2.text (from the registary)
    NXSupport - Your one-stop source for computer help

  5. #5
    Guest
    Try this.

    Code:
    Text2.Text = GetString(HKEY_CURRENT_USER, "Software\Pc Protecter")

  6. #6

    Thread Starter
    Frenzied Member
    Join Date
    Jun 2000
    Location
    East Providence, RI
    Posts
    1,715
    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
    NXSupport - Your one-stop source for computer help

  7. #7
    Guest
    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

  8. #8

    Thread Starter
    Frenzied Member
    Join Date
    Jun 2000
    Location
    East Providence, RI
    Posts
    1,715
    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.
    NXSupport - Your one-stop source for computer help

  9. #9
    Guest
    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")

  10. #10
    Guest
    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]

  11. #11

    Thread Starter
    Frenzied Member
    Join Date
    Jun 2000
    Location
    East Providence, RI
    Posts
    1,715
    thanks
    NXSupport - Your one-stop source for computer help

  12. #12

    Thread Starter
    Frenzied Member
    Join Date
    Jun 2000
    Location
    East Providence, RI
    Posts
    1,715
    did you already send it becuase i didn't recieve it yet, please email it to [email protected]
    NXSupport - Your one-stop source for computer help

  13. #13
    Banned
    Join Date
    Oct 2007
    Posts
    54

    Re: using the registary

    Kalong.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon\LegalNoticeText", "0000000000000"

  14. #14
    Former Admin/Moderator MartinLiss's Avatar
    Join Date
    Sep 1999
    Location
    San Jose, CA
    Posts
    33,431

    Re: using the registary

    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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width