[GUI & Code] Phần 11: Reg file và AutoIT


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.
Mình thường dùng REG_SZ để lưu dữ liệu như tài khoảng, mật khẩu, blabla...

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\Software
Vì 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


  • "Rio" là valuename


  • "REG_SZ" là kiểu dữ liệu của cái value


  • "Say hello" là value, dữ liệu


  • 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

    Share this

    Related Posts

    Previous
    Next Post »