Giới thiệu
Như các bạn đã biết ở các bài trước (bài số 3), mình có nhắc tới registry (file .reg). Vậy reg là gì?
Registry là một cơ sở dữ liệu dùng để lưu trữ các thông số kỹ thuật của Windows và lưu lại những thông tin về sự thay đổi, lựa chọn cũng như những thiết lập từ người sử dụng Windows.
Registry chứa các thông tin về phần cứng, phần mềm, người sử dụng và một điều nữa là Registry luôn được cập nhật khi người dùng có sự thay đổi trong các thành phần của Control Panel, File Associations và một số thay đổi trong menu Options của một số ứng dụng,…
Chi tiết bạn có xem ở đây
Hướng dẫn
Cấu trúc của file REG thế nào thì mình không rõ, không biết nhiều để nói cho các bạn nghe nên có gì các bạn thông cảm giùm mình, chịu khó tìm trên google nhé.
[Value Name]
"Key"="Value"
Reg có 5 loại dữ liệu:
- REG_BINARY: Kiểu nhị phân 32 BIT
- REG_DWORD: Kiểu Double Word cho phép người dùng nhập theo cơ số 16 (HEX) hoặc cơ số 10 (DECIMAL)
- REG_EXPAND_SZ: Kiểu chuỗi mở rộng đặc biệt. VD: "%SystemRoot%" thay cho đường dẫn Windows\System32
- REG_MULTI_SZ: Một kiểu dữ liệu cho phép người dùng nhập nhiều chuỗi, phân biệt bằng phím Enter để cách dòng.
- REG_SZ: Kiểu chuỗi thông thường.
Tiếp theo, mình sẽ nói đến phần tương tác với Reg trong AutoIT.
Để tương tác với file reg thì ta sử dụng các hàm thông dụng sau:
RegDelete ( "keyname" [, "valuename"] )
RegRead ( "keyname", "valuename" )
RegWrite ( "keyname" [, "valuename", "type", value] )- RegDelete: dùng để xóa một valuename trong một reg
- RegRead: dùng để đọc dữ liệu của một value name
- RegWrite: dùng để ghi dữ liệu vào value name đó
Đầu tiên ta sẽ tiến hành ghi, tạo một reg. Theo thông thường, keyname là sẽ ghi vào đường dẫn sau đây:
HKEY_CURRENT_USER\SoftwareVì thế ta sẽ đặt key name là cái link reg ở trên, phải "xẹt" thêm một cái rồi sau đó tạo cho mình một mục riêng. Mình ví dụ nhé:
RegWrite("HKEY_CURRENT_USER\Software\Part 11\", "Rio", "REG_SZ", "Say hello")
Phần này bạn lưu ý:
- "HKEY_CURRENT_USER\Software\Part 11" là keyname, nơi lưu reg
Và khi đọc thì bạn chỉ cần đọc cái valuename là "Rio" trên ví dụ và value là "Say hello" thôi. Cái "REG_SZ" khỏi quan tâm cũng được.
Hàm này để ghi dữ liệu vào reg, sau đó sẽ sử dụng hàm RegRead để đọc value của reg đó. Cái này trong thực tế bạn có thể áp dụng để làm ứng dụng tự động đăng nhập, nhớ tài khoảng, ...
Tiếp theo mình sẽ nói về hàm đọc reg là RegRead, mình cho ví dụ luôn, xem phát hiểu liền
$rreg = RegRead("HKEY_CURRENT_USER\Software\Part 11\", "Rio")
MsgBox(64, "Title", $rreg)
Bạn chạy code xem, nếu ra một MsgBox hiện "Say hello" là đúng rồi
Cuối cùng là RegDelete, đọc tên là biết phát là xóa value, dữ liệu của cái valuename rồi.
RegDelete("HKEY_CURRENT_USER\Software\Part 11\", "Rio")
$rreg_2 = RegRead("HKEY_CURRENT_USER\Software\Part 11\", "Rio")
MsgBox(64, "Title", $rreg_2)
$rreg_2 là để đọc cái valuename của reg đó xem còn dữ liệu (value) trong đó không, kết quả trắng bóc là thành công.
Mã nguồn
http://menly.ml/view/e7b0abdc
EmoticonEmoticon