Rabu, 12 Februari 2014

Cara Menyimpan Dan Mengambil Registry di Visual Basic 6.0


Pernahka Kalian mendengar kata Registry? mngkin Kalian bertanya Apa Itu Registry? Baikla mari kita bahas. 
Registry adalah database pada system  yang digunakan untuk menyimpan pengaturan dan pilihan untuk versi 32 bit Microsoft Windows termasuk Windows 95, 98, ME dan NT/2000.Berisi informasi dan penyetinan g untuk semua hardware, software, pengguna, dan preferensi dari PC. Setiap kali pengguna membuat
perubahan ke pengaturan Panel Kontrol, atau File Associations, System Policies, atau perangkat lunak yang diinstal, perubahan terdaftar  dan disimpan dalam Registry.

File fisik yang membentuk registry disimpan berbeda tergantung pada versi Windows; di bawah Windows 95 & 98 yang termuat dalam dua file yang tersembunyi di dalam direktori Windows Anda, yang disebut USER.DAT dan SYSTEM.DAT, untuk Windows Me ada CLASSES.DAT tambahan file, sedangkan pada Windows NT/2000 file yang terkandung secara terpisah dalam yang% SystemRoot% \
System32 \ Config direktori.
Anda tidak dapat mengedit file-file ini secara langsung, Anda harus menggunakan tool yang umumnya dikenal sebagai “Registry Editor” untuk melakukan perubahan apapun


Sekarang mari kita coba untuk menyimpan Dan mengambil registry menggunakan Visal Basic 6.0
PERTAMA siapkan aplikasi Visual Basic 6.0 Buka aplikasi Visual Basic 6.0 Dan buka Standard EXE

Setela memilih Standard EXE Lalu tambahkan 1 Modul
Maskan kode di bawa ini ke dalam modul:
Option Explicit
Private Const REG_SZ = 1
Private Const REG_BINARY = 3
Public Enum RegClasses
    HKEY_CLASSES_ROOT = &H80000000
    HKEY_CURRENT_USER = &H80000001
    HKEY_LOCAL_MACHINE = &H80000002
    HKEY_USERS = &H80000003
    HKEY_PERFORMANCE_DATA = &H80000004
End Enum
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
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As RegClasses, ByVal lpSubKey As String) As Long

Private Function RegQueryStringValue(ByVal hKey As Long, ByVal strValueName As String) As String
    On Error Resume Next
    Dim lResult As Long, lValueType As Long, strBuf As String, lDataBufSize As Long
    lResult = RegQueryValueEx(hKey, strValueName, 0, lValueType, ByVal 0, lDataBufSize)
    If lResult = 0 Then
        If lValueType = REG_SZ Then
            strBuf = String(lDataBufSize, Chr$(0))
            lResult = RegQueryValueEx(hKey, strValueName, 0, 0, ByVal strBuf, lDataBufSize)
            If lResult = 0 Then
                RegQueryStringValue = Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1)
            End If
        ElseIf lValueType = REG_BINARY Then
            Dim strData As Integer
            lResult = RegQueryValueEx(hKey, strValueName, 0, 0, strData, lDataBufSize)
            If lResult = 0 Then
                RegQueryStringValue = strData
            End If
        End If
    End If
End Function
Public Function GetString(hKey As RegClasses, strPath As String, strValue As String)
    Dim Ret As Long
    RegOpenKey hKey, strPath, Ret
    GetString = RegQueryStringValue(Ret, strValue)
    RegCloseKey Ret
End Function
Public Sub SaveString(hKey As RegClasses, strPath As String, strValue As String, strData As String)
    Dim Ret As Long
    RegCreateKey hKey, strPath, Ret
    RegSetValueEx Ret, strValue, 0, REG_SZ, ByVal strData, Len(strData)
    RegCloseKey Ret
End Sub
Public Sub DelString(hKey As RegClasses, strPath As String, strValue As String)
    Dim Ret As Long
    RegCreateKey hKey, strPath, Ret
    RegDeleteValue Ret, strValue
    RegCloseKey Ret
End Sub

Jika modul sudah ditambahkan sekarang tinggal masuk Ke form1. usahakan untk desain Form1 seperti gambar di bawa ini
Dan maskan Kode beriku pada form1
Private Sub Command1_Click()
    SaveString HKEY_LOCAL_MACHINE, "SOFTWARE\ABC", "Registry", Text1.Text
End Sub
Private Sub Command2_Click()
    Text2.Text = Trim(GetString(HKEY_LOCAL_MACHINE, "SOFTWARE\ABC", "Registry"))
End Sub

Setela Selesai, jalankan aplikasinya dengan cara menekan F5

Keterangan:















Selesai ....
Semoga Postingan ini dapat bermanfaat bagi anda, terima Kasih telah mengunjungi blog Kami.

Komentar dari Facebook
0 Komentar dari Blogger