Đánh giá chủ đề:
  • 8 Votes - 3.25 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thao tác với registry (nâng cao)
#1
Trước đây mình có giới thiệu 1 bài viết giúp chúng ta thao tác với registry. Phạm vi bài viết đó chỉ là ghi/ đọc 1 giá trị vào đó nhằm tiện lợi cho lần mở chương trình kế tiếp. Các bạn có thể ứng dụng tùy biến cho user save password hay vài giá trị mà user muốn mặc định...

Xem thêm

Tuy nhiên, do một số nhu cầu đặc biệt, bạn muốn can thiệp sâu hơn vào registry. Điều này đòi hỏi bạn phải có chút am hiểu về nó. Ứng dụng là bạn có thể change workgroup, tạo ổ mạng, setting vài mặc định cho access hay các ứng dụng khác...


Dưới đây mình sẽ giới thiệu vài hàm hỗ trợ ta thao tác với registry :


Reading from the Registry:


Code:

Mã:
'reads the value for the registry key i_RegKey
    'if the key cannot be found, the return value is ""
    Function RegKeyRead(i_RegKey As String) As String
    Dim myWS As Object

    On Error Resume Next
    'access Windows scripting
    Set myWS = CreateObject("WScript.Shell")
    'read key from registry
    RegKeyRead = myWS.RegRead(i_RegKey)
    End Function


Checking if a Registry key exists:

Code:

Mã:
'returns True if the registry key i_RegKey was found
    'and False if not
    Function RegKeyExists(i_RegKey As String) As Boolean
    Dim myWS As Object

    On Error GoTo ErrorHandler
    'access Windows scripting
    Set myWS = CreateObject("WScript.Shell")
    'try to read the registry key
    myWS.RegRead i_RegKey
    'key was found
    RegKeyExists = True
    Exit Function

    ErrorHandler:
    'key was not found
    RegKeyExists = False
    End Function

Saving a Registry key:

Code:
Mã:
'sets the registry key i_RegKey to the
    'value i_Value with type i_Type
    'if i_Type is omitted, the value will be saved as string
    'if i_RegKey wasn't found, a new registry key will be created
    Sub RegKeySave(i_RegKey As String, _
    i_Value As String, _
    Optional i_Type As String = "REG_SZ")
    Dim myWS As Object

    'access Windows scripting
    Set myWS = CreateObject("WScript.Shell")
    'write registry key
    myWS.RegWrite i_RegKey, i_Value, i_Type

    End Sub
Deleting a key from the Registry:

Code:
Mã:
'deletes i_RegKey from the registry
    'returns True if the deletion was successful,
    'and False if not (the key couldn't be found)
    Function RegKeyDelete(i_RegKey As String) As Boolean
    Dim myWS As Object

    On Error GoTo ErrorHandler
    'access Windows scripting
    Set myWS = CreateObject("WScript.Shell")
    'delete registry key
    myWS.RegDelete i_RegKey
    'deletion was successful
    RegKeyDelete = True
    Exit Function

    ErrorHandler:
    'deletion wasn't successful
    RegKeyDelete = False
    End Function
Ví dụ sau cho phép bạn startip chương trình unikey lưu trong thư mục D:\\Soft\\UniKey4.0\\unikey40RC2-1101-win32\\UniKeyNT.exe


Key của nó muốn lưu trong registry là

Mã:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]


"'UniKey"="D:\\Soft\\UniKey4.0\\unikey40RC2-1101-win32\\UniKeyNT.exe"

Ta phát biểu:

Mã:
Dim key as String, v as String

    key="[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

    'UniKey'"

    v="D:\\Soft\\UniKey4.0\\unikey40RC2-1101-win32\\UniKeyNT.exe"

    RegKeySave key,v


Chúc thành công!


Ngoài ra việc thao tác với registry bạn phải thật cẩn thận vì có thể làm hỏng cả hệ thống. Nên trước khi làm việc, bạn nên sao lưu 1 bản dự phòng bất trắc.
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn haquocquan


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Thao tác với registry Noname 0 1,262 13-08-10, 09:49 PM
Bài mới nhất: Noname

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ