2.2 Hàm truy xuất Registry
a) Giới thiệu
Registry lưu trữ các dữ liệu liên quan đến hệ thống và các ứng dụng. Registry bao gồm một số tập tin mà hệ thống và các ứng dụng có thể truy cập đến và sử dụng để hiệu chỉnh thông tin cấu hình. Có ba loại tập tin mà lưu trữ tất cả các thông tin Registry là: System.dat, User.dat và các tập tin Policy.
Trong Win’95 Folder và mỗi một File được tạo ra bởi một chương trình khác nhau thì sẽ có các Icon khác nhau được lưu trữ trong các File liên kết hoãc các File chương trình. Các chương trình khi được cài đặt trên máy tính sẽ phải đăng kí Registry và đồng thời Registry lưu trữ các thông tin này để các ứng dụng khác có thể sử dụng để tham khảo khi cần thiết. Chúng ta có thể sử dụng chương trình Regedit của Win ’95 để xem và hiệu chỉnh Registry.
Thông tin trong Registry cũng được lưu trữ có cấp bậc và có các Key nắm giữ các thông tin khác nhau. Hình 3-1 minh họa cách lưu trữ trong Registry thông qua chương trình Regedit.
· Các loại thông tin lưu trữ trong Registry.
Registry có ba loại dữ liệu của các đối tượng là Key, Value, và Data.
KEY: Một Key có thể chứa các Key và các Value.
VALUE: Registry có thể có ba loại dữ liệu: chuỗi, thông tin nhị phân và giá trị DWORD. Giá trị mặc định thường là chuỗi, mặc dù nó xuất hiện như "(value not set)" cho đến khi nó chứa dữ liệu. Nếu dữ liệu bị loại bỏ thì nó chứa chuỗi rỗng "" thay vì "(value not set)".
DATA: Dữ liệu Registry thì thường đuợc chứa trong một value. Một mẫu dữ liệu thì thường không lớn hơn 64KB.
· Cách truy xuất Registry để lấy thông tin của các Icon chương trình.
Như chúng ta đã biết một File được lưu trữ sẽ có hai phần: phần tên và phần mở rộng, phần mở rộng này dùng để xác định kiểu của File. Trong Registry muốn biết được Icon tương ứng của một File chúng ta có thể lấy được thông tin về chương trình tạo ra File đó và từ đó có thể truy xuất đến key tương ứng để lấy được thông tin về icon mặc định ( đường dẫn chỉ vị trí File chứa Icon chương trình đó trên đĩa ) của chương trình.
b) Một số hàm API liên quan đến việc truy xuất Registry
Ø RegCloseKey
Ý nghĩa: Đóng một Registry key mà trước đó đã được mở bởi hàm API. Bạn phải đóng Registry key khi chấm dứt làm việc với nó.
Khai báo:
Declare Function RegCloseKey Lib "advapi32.dll" Alias "RegCloseKey" (ByVal hKey As Long) As Long
Tham số | Mô tả |
hKey | Từ khóa để đóng có kiểu dữ liệu là Long |
Giá trị trả về: trả về con số kiểu Long, 0 ( ERROR_SUCCESS) thì thành công. Tất cả các giá trị khác thì có lỗi trong mã.
Ø RegConnectRegistry
Ý nghĩa: Cho phép bạn truy cập vào một phần của Registry trên máy mạng
Khai báo:
Declare Function RegConnectRegistry Lib "advapi32.dll" Alias "RegConnectRegistryA" (ByVal lpMachineName As String, ByVal hKey As Long, phkResult As Long) As Long
Tham số | Mô tả |
LpMachineName | Tên của hệ thống để connect tới có kiểu dữ liệu là kiểu chuỗi. |
Hkey | Là HKEY_LOCAL_MAHCINE hoặc HKEY_USER kiểu dữ liệu Long. |
PhkResult | Biến dùng để Load Handle với một khóa cụ thể. |
Giá trị trả về: trả về con số kiểu Long, 0 ( ERROR_SUCCESS) thì thành công. Tất cả các giá trị khác thì có lỗi trong mã.
Ø RegCreateKey
Ý nghĩa: Cho phép bạn tạo một từ khóa mới trong Registry. Nếu từ khóa với cùng các thuộc tính có sẵn đã được mở.
Khai báo:
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Tham số | Mô tả |
hKey | Kiểu Long. Handle của một Key đã mở hoặc một số tiêu chuẩn của tên Key. |
lpSubKey | Kiểu chuỗi. Tên của một SubKey mới để tạo. Bạn có thể tạo nhiều khóa cùng một lúc bởi dấu gạch chéo ngược giữa chúng. VD: level1\level2\newkey |
phkResult | Kiểu Long. Biến dùng để Load một Handle với subkey mới. |
Giá trị trả về: Kiểu Long. 0 ( ERROR_SUCCESS) thì thành công. Tất cả các giá trị khác thì có lỗi trong mã.
Ø RegCreateKeyEx
Ý nghĩa: Hàm này cho phép bạn thêm vào thông tin bảo mật mà có thể được đặt trên thực thể Registry.
Khai báo:
Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long
Tham số | Mô tả |
HKey | Kiểu Long. Handle của một Key đã mở hoặc một số tiêu chuẩn của tên Key. |
LpSubKey | Kiểu chuỗi. Tên của một SubKey mới để tạo. Bạn có thể tạo nhiều khóa cùng một lúc bởi dấu gạch chéo ngược giữa chúng. VD: level1\level2\newkey |
Reserved | Kiểu Long. Được thiết lập bằng 0. |
LpClass | Kiễu chuỗi. Tên một lớp cho Key. |
DwOptions | Kiểu Long. Bằng 0 hoặc hằng số sau: REG_OPITON_VOLATILE. Khóa này thì không lưu giữ lại mà biến mất sau khi khởi động lại hệ thống. |
samDesired | Kiểu Long. Một hoặc nhiều hằng số có tiếp đầu ngữ là KEY_?? kết hợp với mô tả của mỗi tác vụ cho Key này. |
lpSecurityAttributes | SECRUITY ATTRIBUTES. Mô tả cấu trúc bảo vệ cho Key này. |
phkResult | Kiểu Long. Biến để Load một Handle với một subkey mới. |
LpdwDisposition | Kiểu Long. Biến để Load một trong số ngững hằng số sau: · REG_CREATED_NEW_KEY. Một Key mới vừa được tạo. · REG_OPENED_EXISTING_KEY.Một Key đã có đượ mở. |
Giá trị trả về: Kiểu Long. 0 ( ERROR_SUCCESS ) thì thành công. Tất cả các giá trị khác thì có lỗi trong mã.
Kiểu dữ liệu:
Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Ø RegDeleteKey
Ý nghĩa: Xóa một Registry key và giá trị kết hợp của nó
Khai báo:
Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Tham số | Mô tả |
HKey | Kiểu Long. handle của một Key được mở hoặc một số tiêu chuẩn của tên Key. |
LpSubKey | Kiểu chuỗi. Tên của một Key để Delete. Mọi subkeys của key đều được xóa. |
Giá trị trả về: Kiểu Long. 0 ( ERROR_SUCCESS ) thì thành công. Tất cả các giá trị khác thì có lỗi trong mã.
Ø RegDeleteValue
Ý nghĩa: Xóa giá trị của một Registry key
Khai báo:
Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Tham số | Mô tả |
hKey | Kiểu Long. handle của một key được mở hoặc một số tiêu chuẩn của tên key. |
lpValueName | Kiểu chuỗi. Tên của giá trị cần xóa. Có thể là vbNullString hoặc một chuỗi rổng cần xóa giá trị mặc định cho Key. |
Giá trị trả về: Kiểu Long. 0 ( ERROR_SUCCESS ) thì thành công. Tất cả các giá trị khác thì có lỗi trong mã.
Ø RegEnumKey / RegEnumKeyEx
Ý nghĩa: Cho phép bạn truy xuất mỗi tên từng bước một của một subkey được định vị dưới một từ khóa cụ thể.
Khai báo:
Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long
Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As FILETIME) As Long
Tham số | Mô tả |
Hkey | Kiểu Long. handle của một Key được mở hoặc một số tiêu chuẩn của tên Key. |
DwIndex | Kiểu Long. Chỉ số của giá trị được lấy, giá trị đàu tiên là số 0. |
LpName | Kiểu chuỗi. một buffer dùng để Load tên của key tại một chỉ số cụ thể. |
lpcbName | Kiểu Long. một biến có chiều dài được định bởi lpName (bao gồm cả ký tự Null). Trả về một con số của ký tự được Load vào trong lpName hiện thời. |
lpReserved | Kiểu Long. Không sử dụng, được thiết lập bằng 0. |
lpClass | Kiểu chuỗi. Tên của một lớp được sử dụng cho Key. Có thể là vbNullString. |
lpcbClass | Kiểu Long. một biến có chiều dài được định bởi lpClass. Trả về một con số của ký tự được Load vào trong buffer. |
lpftLastWriteTime | FILETIME. thời gian sửa đổi lần cuối cùng của subkey được lấy. |
Giá trị trả về: Kiểu Long. 0 ( ERROR_SUCCESS ) thì thành công. Tất cả các giá trị khác thì có lỗi trong mã.
Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Ø RegEnumValue
Ý nghĩa: Cho phép bạn truy xuất mỗi tên từng bước một của một subkey được định vị dưới một từ khóa cụ thể.
Khai báo:
Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, lpReserved As Long, lpType As Long, lpData As Byte, lpcbData As Long) As Long
Tham số | Mô tả |
hKey | Kiểu Long. handle của một Key được mở hoặc một số tiêu chuẩn của tên Key. |
dwIndex | Kiểu Long. Chỉ số của giá trị được lấy, giá trị đàu tiên là số 0. |
lpValueName | Kiểu chuỗi. một buffer dùng để Load tên của giá trị tại một chỉ số cụ thể. |
lpcbValueName | Kiểu Long. một biến có chiều dài được định bởi lpValueName. Trả về một con số của ký tự được Load vào trong buffer. |
lpReserved | Kiểu Long. không sử dụng, được thiết lập bằng 0. |
lpType | Kiểu Long. Một biến dùng Load giá trị của loại mã. |
lpData | Byte. Buffer dùng để Load dữ liệu dành cho giá trị. |
lpcbData | Kiểu Long. một biến có chiều dài được định bởi lpData. Trả về một con số của byte được Load vào trong buffer. |
Giá trị trả về: Kiểu Long. 0 (ERROR_SUCCESS ) thì thành công. Các giá trị khác thì lỗi.
Ø RegFlushKey
Ý nghĩa: Ghi thông tin vào Registry ngay lập tức.
Khai báo:
Declare Function RegFlushKey Lib "advapi32.dll" Alias "RegFlushKey" (ByVal hKey As Long) As Long
Tham số | Mô tả |
hKey | Kiểu Long. Một Handle của một Key dùng để Flush. |
Giá trị trả về: Kiểu Long. 0 (ERROR_SUCCESS ) thì thành công. Các giá trị khác thì bị lỗi.
Ø RegLoadKey
Ý nghĩa: Nạp thông tin Registry từ một tập tin đã được tạo trước đó bởi RegSaveKey.
Khai báo:
Declare Function RegLoadKey Lib "advapi32.dll" Alias "RegLoadKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpFile As String) As Long
Tham số | Mô tả |
hKey | Kiểu Long. HKEY_LOCAL_MACHINE, HKEY_USERS hoặc một Key được tạo sử dụng RegConnectRegistry. |
lpSubKey | Kiểu chuỗi. Tên của một subKey mới được tạo. |
lpFile | Kiểu chuỗi. một tên File đã đăng ký. |
Giá trị trả về: Kiểu Long. 0 (ERROR_SUCCESS ) thì thành công. Các giá trị khác thì bị lỗi.
Ø RegNotifyChangeKeyValue
Ý nghĩa: Cho phép ứng dụng của bạn quan sát việc đăng ký từ khóa và nhận được thông báo khi từ khóa bị thay đổi.
Khai báo:
Declare Function RegNotifyChangeKeyValue Lib "advapi32.dll" Alias "RegNotifyChangeKeyValue" (ByVal hKey As Long, ByVal bWatchSubtree As Long, ByVal dwNotifyFilter As Long, ByVal hEvent As Long, ByVal fAsynchronus As Long) As Long
Tham số | Mô tả |
hKey | Kiểu Long. một handle của Key dùng để xem. |
bWatchSubtree | Kiểu Long. TRUE (nonzero ) sẽ thất được subkey tương tự như một Key cụ thể. |
dwNotifyFilter | Kiểu Long. Một hoặc nhiều hằng số sau đây: REG_NOTIFY_CHANGE_NAME:nhận biết việc đổi tên, tạo hoặc xóa một Key. REG_NOTIFY_CHANGE_ATTRIBUTES: nhận biết việc thay đổi thuộc tính. REG_NOTIFY_CHANGE_LAST_SET: xác định thời gian sửa đổi cuối cùng. REG_NOTIFY_CHANGE_SECURITY: nhận biết việc thay đổi của việc bảo mật. |
hEvent | Kiểu Long.Một Handle đến một Event. nếu bỏ qua thì fAsynchronus bằng False. |
fAsynchronus | Kiểu Long.Nếu bằng 0 thì hàm không trả về cho đến khi một sự thay đổi được nhận biết. Nếu khác 0 thì hàm sẽ trả về và sự kiện của hEvent sẽ báo hiệu khi có sự thay đổi. |
Giá trị trả về: Kiểu Long. 0 (ERROR_SUCCESS ) thì thành công. Các giá trị khác thì bị lỗi.
Ø RegOpenKey/ RegOpenKeyEx
Ý nghĩa: Mở một từ khóa được chỉ định. RegOpenKeyEx cũng mở một từ khóa nhưng thêm vào các tham số bảo mật.
Khai báo:
Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Tham số | Mô tả |
hKey | Kiểu Long. handle của một Key được mở |
lpSubKey | Kiểu chuỗi. tên của key để mở. |
ulOptions | Kiểu Long. Không sử dụng và được thiết lập bằng 0. |
samDesired | Kiểu Long. Một hoặc nhiều hằng số có tiếp đầu ngữ là KEY_?? kết hợp với việc mô tả mỗi tác vụ được cho phép đối với key. |
phkResult | Kiểu Long. Biến để Load một Handle đến Key đượ mở. |
Giá trị trả về: Kiểu Long. 0 (ERROR_SUCCESS ) thì thành công. Các giá trị khác thì bị lỗi.
Ø RegQueryInfoKey
Ý nghĩa: Cho phép ứng dụng của bạn lấy được thông tin về từ khóa.
Khai báo:
Declare Function RegQueryInfoKey Lib "advapi32.dll" Alias "RegQueryInfoKeyA" (ByVal hKey As Long, ByVal lpClass As String, lpcbClass As Long, lpReserved As Long, lpcSubKeys As Long, lpcbMaxSubKeyLen As Long, lpcbMaxClassLen As Long, lpcValues As Long, lpcbMaxValueNameLen As Long, lpcbMaxValueLen As Long, lpcbSecurityDescriptor As Long, lpftLastWriteTime As FILETIME) As Long
Tham số | Mô tả |
Hkey | Kiểu Long. handle của Key được mở. |
LpClass | Kiểu chuỗi. Một chuỗi để Load tên lớp cho Key |
LpcbClass | Kiểu Long.Một biến mà chiều dài được xác định bởi lpClass. Trả về sẽ thiết lập con số kiểu Byte thực sự, Load vào buffer. |
LpReserved | Kiểu Long. Không sử dụng và được thiết lập bằng 0. |
LpSubKeys | Kiểu Long. một biến để Load con số của SubKey cho key này. |
LpcbMaxSubKeyLen | Kiểu Long. Một biến dùng để Load chiều dài dài nhất của subkey name cho key này (không bao gồm ký tự NULL ) |
LpcbMaxClassLen | Kiểu Long. Một biến dùng để Load chiều dài dài nhất của tên lớp của subkey cho key này (không bao gồm ký tự NULL ) |
LpcValues | Kiểu Long. Một biến dùng để Load con số giá trị cho Key. |
LpcbMaxValueNameLen | Kiểu Long. một biến dùng để Load giá trị tên với chiều dài lớn nhất của subkey cho Key (không bao gồm ký tự NULL ) |
LpcbMaxValueLen | Kiểu Long. Một biến để Load với kích cở yêu cầu của buffer để giữ giá trị dữ liệu lớn nhất cho Key này. |
LpcbSecurityDescriptor | Kiểu Long. một biến dùng để Load có chiều dài bằng mô tả bảo mật của Key. |
lpftLastWriteTime | Kiểu FILETIME. Một cấu trúc dùng để Load I gian tạo lập cuối cùng cho Key. |
Giá trị trả về: Kiểu Long. Bằng 0 (ERROR_SUCCESS ) thì thành công. Các giá trị khác thì bị lỗi. Hàm trả về ERROR_MORE_DATA nếu như một trong các buffer không có đủ chi62u dài để chứa dữ liệu trả về.
Ø RegQueryValue/ RegQueryValueEx
Ý nghĩa: Lấy giá trị mặc định cho từ khóa. RegQueryValueEx lấy thông tin bảo mật của từ khóa.
Khai báo:
Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue 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
Tham số | Mô tả |
hKey | Kiểu Long. Handle của một Key được mở. |
lpValueName | Kiểu chuỗi. Tên của giá cần lấy. |
lpReserved | Kiểu Long.Không được sử dụng và được thiết lập bằng 0. |
lpType | Kiểu Long.Một biến dùng để Load có kiểu dữ liệu cần tìm. |
lpData | Mọi kiểu dữ liệu. Một buffer dùng để Load với một giá trị cụ thể. |
lpcbData | Kiểu Long.Một biến mà có chiều dài được định bởi lpData. Khi trả về thì thiết lập con số kiểu Byte để Load vào bộ đệm |
Giá trị trả về: Kiểu Long. 0 (ERROR_SUCCESS ) thì thành công, các giá trị khác thì bị lỗi.
Ø RegReplaceKey
Ý nghĩa: Thay đổi thông tin Registry của một File và tạo File Backup của thông tin đã thay đổi.
Khai báo:
Declare Function RegReplaceKey Lib "advapi32.dll" Alias "RegReplaceKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpNewFile As String, ByVal lpOldFile As String) As Long
Tham số | Mô tả |
HKey | Kiểu Long. handle của một key được mở. |
LpSubKey | Kiểu chuỗi. tên của subkey cần Replace, nó phải là thư mục nằm trong HKEY_LOCAL_MACHINE hoặc HKEY_USERS. |
LpNewFile | Kiểu chuỗi. Tên của File chứa thông tin đăng ký, File này được tạo bằng cách sử dụng hàm RegSaveKey. |
LpOldFile | Kiểu chuỗi. Tên của File khi Backup thông tin đăng ký hiện tại. |
Giá trị trả về: Kiểu Long. 0 ( ERROR_SUCCESS ) thì thành công, các giá trị khác thì bị lỗi.
Ø RegRestoreKey
Ý nghĩa: Khôi phục thông tin từ một tập tin mà đã được tạo bởi hàm RegReplaceKey.
Khai báo:
Declare Function RegRestoreKey Lib "advapi32.dll" Alias "RegRestoreKeyA" (ByVal hKey As Long, ByVal lpFile As String, ByVal dwFlags As Long) As Long
Tham số | Mô tả |
Hkey | Kiểu Long. handle của một Key mở. |
LpFIle | Kiểu chuỗi. Tên của File cần Restore thông tin. |
dwFlags | Kiểu Long. 0 thì trả lại giá trị như cũ. REG_WHOLE_HIVE_VOLATIVE dùng để khôi phục lại thông tin tạm thời ( chưa Save khi hệ thống khởi động lại ). Trong trường hợp này thì hKey phải tham khỏa đến HKEY_LOCAL_MACHINE hoặc HKEY_USERS. |
Giá trị trả về: Kiểu Long. 0 ( ERROR_SUCCESS ) thì thành công, các giá trị khác thì bị lỗi.
Ø RegSaveKey
Ý nghĩa: Lưu một Registry key cũng như tất cả các subkey của nó lên một File trên đĩa. Tập tin này có thể được sử dụng sau đó bởi hàm RegLoadKey.
Khai báo:
Declare Function RegSaveKey Lib "advapi32.dll" Alias "RegSaveKeyA" (ByVal hKey As Long, ByVal lpFile As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long
Tham số | Mô tả |
HKey | Kiểu Long. Handle của một Key mở. |
LpFIle | Kiểu chuỗi. Tên của Disk để lưu giữ thông tin cần đăng ký. |
LpSecurityAttributes | SECRITY_ATTRIBUTES. Thông tin bảo mật cho thông tin vừa được lưu. Có thể là Null để mặc định thông tin bảo mật |
Giá trị trả về: Kiểu Long. bằng 0 (ERROR_SUCCESS ) thì thành công. Các giá trị khác thì bị lỗi.
Ø RegSetValue/ RegSetValueEx
Ý nghĩa: Thay đổi giá trị của một từ khóa cụ thể.
Khai báo:
Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData 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
Tham số | Mô tả |
HKey | Kiểu Long. handle của một Key mở |
LpValueName | Kiểu chuỗi. Tên của giá trị được thiết lập. |
Reserved | Kiểu Long. Không sử dụng và được thiết lập bằng 0. |
DwType | Kiểu Long. Kiểu dữ liệu để thiết lập. |
LpData | Kiểu Byte. Byte đầu tiên trong trong buffer chứa dữ liệu. |
CbData | Kiểu Long. chiều dài của buffer lpData. |
Giá trị trả về: Kiểu Long. bằng 0 (ERROR_SUCCESS ) thì thành công. Các giá trị khác thì bị lỗi.
Ø RegUnloadKey
Ý nghĩa: Đóng và loại bỏ khỏi bộ nhớ một từ khóa đã được mở trước đó bởi hàm RegLoadKey.
Khai báo:
Declare Function RegUnLoadKey Lib "advapi32.dll" Alias "RegUnLoadKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Tham số | Mô tả |
HKey | Kiểu Long. HKEY_LOCAL_MACHINE, HKEY_USERS, hoặc một Key đã được mở sử dụng hàm RegConnectRegistry. |
LpSubKey | Kiểu chuỗi. tên của SubKey để UnLoad. Phải được Load trước đó bằng hàm RegLoadKey. |
Giá trị trả về: Kiểu Long. bằng 0 (ERROR_SUCCESS ) thì thành công. Các giá trị khác thì bị lỗi.
No comments:
Post a Comment