Mar 7, 2012

Registry.

 

Đây là một trong những khái niệm cơ bản và thường xuyên gặp khi các bạn đi sửa máy, đồng thời nó cũng khá quan trọng nếu sau này các bạn lập trình ứng dụng window, sử dụng các API.

Khái niệm:

Registry là một cơ sở dữ liệu dùng để lưu trữ thông số kỹ thuật của Windows, cấu hình hệ thống cho một hoặc nhiều người sử dụng, ứng dụng và các thiết bị phần cứng. Nó ghi nhận tất cả các thông tin khi bạn thay đổi, chỉnh sửa trong Menu Settings, Control Panel.... 

Registry chứa thông tin mà Windows liên tục tham chiếu trong hoạt động.Ví dụ: hồ sơ người dùng, ứng dụng được cài đặt, các loại tài liệu, thuộc tính thiết đặt cho thư mục, biểu tượng ứng dụng.

Cấu trúc:

Các registry hive là nhóm các khóa (keys), khóa con (subkey), và các giá trị được thiết đặt trong các tập tin hỗ trợ chứa các bản sao dữ liệu.

Tất cả các tập tin hỗ trợ được nằm ở thư mục %SystemRoot%\System32\Config on ở các thư mục Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, and Windows Vista. Ngoại trừ HKEY_CURRENT_USER, nó nằm ở %SystemRoot%\Profiles\Username

clip_image002

Dưới đây là công dụng của các thư mực/ khóa định nghĩa trước trong hệ thống.

Kích thước tối đa cho tên khóa là 255 kí tự.

Folder/ predefined key

Description

HKEY_CURRENT_USER

Chứa các thông tin thiết lập chính của người dùng lúc đăng nhập. Thư mục người dùng, màu màn hình, tùy chỉnh Control Panel. Thông tin này được kết hợp với hồ sơ của người sử dụng.

HKEY_USERS

Chứa tất cả các hồ sơ vừa được kích hoạt của người dùng.

HKEY_LOCAL_MACHINE

Chứa các thông tin đặc tả của máy tính về phần cứng, phần mềm và các quyền ưu tiên dành cho máy tính. Những thông tin này được người dùng sử dụng để đăng nhập vào máy tính.

HKEY_CLASSESS_ROOT

chứa toàn bộ những bản đồ liên kết file để hỗ trợ chức năng kéo thả, thông tin về OLE (đối tượng nhúng), các shortcut (lối tắt), và những khía cạnh cốt lõi của giao diện người dùng Windows.

Giúp mở đúng chương trình khi sử dụng Windows Explorer.

HKEY_CURRENT_CONFIG       

Chứa các thông tin về hồ sơ phần cứng được sử dụng khi hệ thống khởi động.

Kiểu dữ liệu:

Các kiểu dữ liệu được lưu trữ trong Registry:

Tên

Kiểu dữ liệu

Mô tả

Kiểu nhị phân

REG_BINARY

Kiểu nhị phân thô (Raw binary data). Đa số các thông tin thành phần của thiết bị phần cứng được lưu trữ ở kiểu dữ liệu này và được thể hiện theo định dạng cơ số Hex trong Registry Editor.

Kiểu DWORD

REG_DWORD

Đại diện cho kiểu dữ liệu 4 bytes (integer 32-bit). Nhiều thông số của driver thiết bị và dịch vụ được khai báo kiểu này.
Trong Registry Editor thể hiện kiểu dữ liệu này theo định dạng nhịn phân, thập phân, thập lục phân.

Dữ liệu chuỗi mở rộng

REG_EXPAND_SZ

chuỗi có chứa một biến sẽ được thay thế khi được gọi bởi một ứng dụng. Ví dụ chuỗi “%SystemRoot%” sẽ được thay thế bởi thư mục gốc thực trong Win XP.

Kiểu chuỗi phức hợp

REG_MULTI_SZ

Chứa các danh sách hoặc giá trị phức hợp (mutiple value) trong một form, được ngăn cách với nhau bằng các khoảng trắng, dấu ','; hoặc các kí tự khác (; ! ...).

Kiểu chuỗi

REG_SZ

Kiểu dãy chuỗi ký tự.

Kiểu nhị phân

REG_RESOURCE_LIST

Một loạt các mảng lồng nhau được thiết kế để chứa danh sách các tài nguyên đương sử dụng bởi driver thiết bị phần cứng hoặc một thiết bị vật lý . Dữ liệu này ược xác định và viết trong \ResourceMap.

QWORD

REG_QWORD

Kiểu integer 64-bit.