Nói chung, người dùng không phải quản trị có quyền truy cập vào registry:
Đọc/Viết thư cho:
Chỉ đọc:
HKEY_LOCAL_MACHINE
HKEY_CLASSES_ROOT
(mà chỉ là một liên kết để HKEY_LOCAL_MACHINE\Software\Classes
)
Nó có thể thay đổi một số trong những điều khoản trên cơ sở chìa khóa-by-key, nhưng đó là cực kỳ hiếm. Bạn không cần phải lo lắng về điều đó.
Vì mục đích của bạn, ứng dụng của bạn phải viết cài đặt và cấu hình thành HKEY_CURRENT_USER
. Địa điểm kinh điển là bất kỳ nơi nào trong vòng HKEY_CURRENT_USER\Software\YourCompany\YourProduct\
Bạn có thể giữ các cài đặt toàn cầu (cho tất cả người dùng) trong HKEY_LOCAL_MACHINE
. Rất hiếm khi cần phải làm điều này, và bạn nên tránh nó. Vấn đề là bất kỳ người dùng nào cũng có thể "đọc" chúng, nhưng chỉ một quản trị viên (hoặc mở rộng, chương trình cài đặt/cài đặt của bạn) mới có thể "đặt" chúng.
Nguồn gây rắc rối phổ biến khác: ứng dụng của bạn không được ghi vào bất kỳ thứ gì trong các thư mục Program files
hoặc Windows
. Nếu bạn cần phải ghi vào tập tin, có một số tùy chọn trong tầm tay; mô tả tất cả chúng sẽ là một cuộc thảo luận dài hơn. Tất cả các tùy chọn đều kết thúc bằng văn bản cho thư mục con hoặc thư mục khác dưới %USERPROFILE%
cho người dùng được đề cập.
Cuối cùng, đơn đăng ký của bạn phải nằm ngoài số HKEY_CURRENT_CONFIG
. Tổ ong này nắm giữ cấu hình phần cứng, cấu hình dịch vụ và các mục khác mà 99,9999% ứng dụng không cần phải xem xét (ví dụ: nó giữ danh sách thiết bị cắm và chạy hiện tại). Nếu bạn cần bất kỳ thứ gì từ đó, hầu hết thông tin có sẵn thông qua các API được hỗ trợ ở nơi khác.
Nguồn
2008-09-09 23:53:12
"Tôi biết rằng chúng tôi không nên sử dụng đăng ký để lưu trữ Dữ liệu ứng dụng nữa" - Tôi không nghĩ điều này là hoàn toàn đúng sự thật. Sổ đăng ký có nhiều ưu điểm so với hệ thống tệp và tôi không biết bất kỳ hướng dẫn nào từ Microsoft để ngừng sử dụng nó trong quá trình phát triển ứng dụng. Bạn có lẽ không nên sử dụng nó để lưu trữ một lượng lớn dữ liệu ứng dụng, nhưng nó là một nơi tốt để lưu trữ các thiết lập và dữ liệu cấu hình. – syplex