Các thao tác cơ bản trên registry

I) Giới thiệu về Registry

Registry là một cơ sở dữ liệu dùng để lưu trữ thông số kỹ thuật của Windows. 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. Có thể hiểu nôm na Registry lưu trữ tất cả các thông tin về phần cứng , phần mềm, hệ điều hành của máy tính. Nên sao lưu Registry trước khi thay đổi các thông số liên quan đến hệ thống

II) Cấu trúc của Registry:

Registry có cấu trúc cây, giống cấu trúc thư mục. Thông thường có sáu nhánh chính. Mỗi nhánh được giao hiệm vụ lưu giữ những thông tin riêng biệt. Trong các nhánh chính có rất nhiều nhánh con. Những nhánh con này cũng được lưu giữ nhưng thông tin riêng biệt.

HKEY_CLASSES_ROOT: Lưu những thông tin dùng chung cho toàn bộ hệ thống.

HKEY_CURRENT_USER: Lưu những thông tin cho người dùng đang Logon

HKEY_LOCAL_MACHINE: Lưu những thông tin về hệ thống, phần cứng, phần mềm.

HKEY_USERS: Lưu những thông tin của tất cả các User, mỗi user là một nhánh với tên là số ID của user đó

HKEY_CURRENT_CONFIG: Lưu thông tin về phần cứng hiện tại đang dùng.

HKEY_DYN_DATA: Đây cũng là một phần của nhánh HKEY_LOCAL_MACHINE

Sau khi đã hiểu qua về Registry ta có thể làm việc tiếp ùi ^^

Hiện nay hầu hết các phần mềm đều lưu giữ thông tin về cấu hình trong Registry. Ví dụ như 1 phần mềm quản lý bán hàng thì sẽ lưu trữ thông tin về cấu hình hệ thống như: server, database, ….

Mình đã viết 1 thư viện đơn giản dùng để thao tác với registry như tạo mới 1 registry key, đọc, ghi lên registry

Việc truy cập vào Registry trên .NET sẽ thông qua hai lớp Registry và RegistryKey thuộc amespace Microsoft.Win32. Một thể hiện của lớp RegistryKey tượng trưng cho một registry key. Lớp RegistryKey cung cấp những thành viên cốt lõi cho phép bạn làm việc với registry key

Trong dll này có 3 phương thức:

CreateRegistryKey(): dùng để tạo mới 1 registry key

SetRegistryKey(): dùng để thiết đặt giá trị cho registry key

GetRegistryKey(): dùng để lấy giá trị từ 1 values

HKEY_CURRENT_USER : là nhánh con trong Registry lưu giữ thông của người dung đang logon . Trong đó có    HKEY_CURRENT_USER\Software : lưu trữ các thông tin về phần mêm của người dùng. Đây sẽ là nơi để tạo ra các registry key

Minh hoạ sử dụng dll:

Các thao tác cơ bản trên registry

— Tạo ra 1 registry key tham số truyền vào là tên của key đó, registry key sẽ được lưu trữ ở đường dẫn HKEY_CURRENT_USER\Tên key, sau đó thiết đặt các giá trị cho key

Các thao tác cơ bản trên registry

— Đọc các giá trị regstry

Chúc các bạn học tốt

Link download thư viện

http://dl.dropbox.com/u/30725420/RegistryClass.dll

Quản Trị Mạng - Trên thực tế, việc thao tác và chỉnh sửa Registry trong Windows sẽ giúp cho người dùng tận dụng được tối đa hiệu suất của Windows mang lại, ví dụ như gán thêm hoặc xóa bớt thành phần khỏi Context Menu, tắt bỏ hoặc kích hoạt tính năng phụ của Windows, thay đổi Control Panel... Trong bài viết dưới đây, chúng tôi sẽ giới thiệu với các bạn 20 thủ thuật hữu hiệu nhất đối với Windows.

Tuy nhiên, trước khi tiến hành bất kỳ thao tác nào đối với hệ thống Registry trong Windows, các bạn hãy tiến hành sao lưu để đề phòng trường hợp rủi ro có thể xảy ra bất cứ lúc nào.

Gán thêm Registry Editor vào Control Panel:

Để sử dụng tính năng này, các bạn hãy tải file *.reg đã được chuẩn bị sẵn tại đây hoặc đây. Trong Windows Vista hoặc 7, sau khi sử dụng, các bạn hãy mở System and Maintenance trong Control Panel:

Các thao tác cơ bản trên registry

Chúng ta sẽ thấy chức năng Registry Editor mới hiển thị tại đây:

Các thao tác cơ bản trên registry

Còn trong Windows XP, Registry Editor sẽ xuất hiện trong Control Panel ở chế độ View Classic:

Các thao tác cơ bản trên registry

Để gán thêm bất kỳ ứng dụng nào tới Context Menu (menu hiển thị khi nhấn chuột phải) trong Windows, các bạn hãy tham khảo bài viết sau.

Xóa bớt thành phần trong Context Menu:

Nếu các bạn cài đặt và sử dụng quá nhiều chương trình trong Windows, chắc hẳn nhiều người sẽ thấy rằng Context Menu của quá “bừa bãi” với các ứng dụng hiển thị mỗi khi họ nhất chuột phải.

Các thao tác cơ bản trên registry

Hình minh họa

Để khắc phục vấn đề này, các bạn có thể sử dụng 1 trong 2 cách dưới đây để xóa bớt thành phần xuất hiện trong Context Menu, và cách thứ nhất là tác động vào hệ thống qua Registry. Hầu hết các thành phần hiển thị trong menu có liên quan tới file dữ liệu hoặc thư mục được liệt kê trong những khóa sau:

HKEY_CLASSES_ROOT\*\shell

HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers

HKEY_CLASSES_ROOT\AllFileSystemObjects\ShellEx

Còn một số thành phần đặc biệt thường xuyên “có mặt” trong những khóa khác:

HKEY_CLASSES_ROOT\Directory\shell

HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers

Với những thành phần trong khóa shell: ví dụ, nếu các bạn mở đường dẫn tới khóa Directory trong hệ thống Registry, chúng ta sẽ thấy khóa Add to VLC media playerPlay with VLC bên dưới mục shell như thường lệ:

Các thao tác cơ bản trên registry

Nếu muốn ẩn 1 trong số những thành phần này, hãy nhấn Shift và chuột phải, sau đó gán thêm khóa String Value ở cửa sổ bên tay phải và đặt tên là Extended như hình dưới:

Các thao tác cơ bản trên registry

Nếu muốn tạm thời tắt bỏ chức năng hoạt động chứ không phải xóa khóa này, các bạn gán thêm khóa String Value và đặt tên là LegacyDisable:

Các thao tác cơ bản trên registry

Với những thành phần shellex: nếu để ý kỹ, chắc hẳn các bạn cũng dễ dàng nhận ra các khóa Registry khác có thêm phần shellex Shell Extension trong phần tên, thay vì chỉ có shell như cũ. Các khóa key dạng này thì sẽ có cách giám sát và quản lý khác, ví dụ như sau:

HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers

Tuy khác biệt, nhưng chúng ta vẫn có thể dễ dàng đoán được ứng dụng chính xác dựa vào phần tên bên trái, hoặc sửa lại giá trị mặc định – Default bằng cách đặt thêm vài dấu gạch ngang ở phía trước – có tác dụng tạm thời tắt chức năng chứ không phải xóa bất kỳ thành phần nào có liên quan. Trong ví dụ trên, chúng ta vừa chọn 7-ZIP ở bên trái:

Các thao tác cơ bản trên registry

Bằng việc thêm dấu gạch ngang phía trước, các bạn đã tắt bỏ chức năng của khóa đó

Với các file nhất định khác: thỉnh thoảng, các ứng dụng trong Context Menu lại được lưu trữ trong những khóa Registry riêng biệt tương ứng. Và trong những trường hợp như vậy, các bạn chỉ cần tìm hoặc xác định chúng trong phần HKEY_CLASSES_ROOT với đuôi mở rộng tương ứng.

Ví dụ, nếu chúng ta muốn xóa bỏ ứng dụng Context Menu với văn bản tài liệu Excel (.xls) thì tiến hành tìm kiếm như sau:

HKEY_CLASSES_ROOT\.xls

Các thao tác cơ bản trên registry

Như ảnh chụp màn hình trên, phần mở rộng thực tế của file là Excel.Sheet.8, do vậy tiếp tục tìm kiếm trong khóa:

HKEY_CLASSES_ROOT\Excel.Sheet.8\shell

Các thao tác cơ bản trên registry

Còn nếu bạn không muốn tác động vào hệ thống Registry thì có thể sử dụng tiện ích hỗ trợ để thay thế. Trước tiên là ShellMenuView của hãng phần mềm NirSoft, cho phép chúng ta dễ dàng quản lý các khóa key shell qua giao diện. Khởi động chương trình, kéo xuống dưới danh sách, chọn những thành phần cần tạm dừng hoạt động, và nhấn nút Disable – tương ứng với việc tạo thêm khóa LegacyDisable như phía trên:

Các thao tác cơ bản trên registry

Và đây là kết quả khi chúng ta nhấn chuột phải sau khi sử dụng ShellMenuView:

Các thao tác cơ bản trên registry

Tiếp tục, nếu muốn tắt bỏ chức năng của những khóa shellex hoặc Shell Extensions, các bạn chỉ cần dùng 1 tiện ích khác cũng của NirSoft, đó là ShellExView, cách sử dụng cũng tương tự như trên:

Các thao tác cơ bản trên registry

Vô hiệu hóa chức năng Aero Shake trong Windows 7:

Một trong những tính năng khá thú vị trong Windows 7 là chọn cửa sổ qua tiêu đề và thu nhỏ các cửa sổ còn lại:

Các thao tác cơ bản trên registry

Và nếu muốn tắt bỏ tính năng này, chúng ta có thể làm theo qua Registry. Các bạn tìm tới khóa sau:

HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows

Tại đây, nhấn chuột phải vào khóa Windows và tạo khóa mới, đặt tên là Explorer:

Các thao tác cơ bản trên registry

Tiếp theo, nhấn chuột phải vào phần cửa sổ bên phải, tạo mới khóa 32-bit DWORD với những thiết lập như bên dưới:

Name: NoWindowMinimizingShortcuts

Value: 1

Các thao tác cơ bản trên registry

Sau đó, các bạn Log off để áp dụng sự thay đổi. Còn nếu không muốn tác động vào hệ thống Registry thì các bạn có thể sử dụng tiện ích DisableAeroShake.reg có sẵn, download qua MediaFire hoặc tại đây.

Tắt bỏ thông tin cảnh báo trong Windows Vista hoặc 7:

Khi mới cài đặt hệ điều hành, chắc hẳn chúng ta sẽ thấy Windows hiển thị nhiều thông tin cảnh báo ở phía dưới khay hệ thống:

Các thao tác cơ bản trên registry

Nếu muốn tắt bỏ những thông báo dạng như vậy, các bạn hãy mở Registry Editor và tìm tới khóa sau:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

Các thao tác cơ bản trên registry

Nhấn chuột phải vào phần cửa sổ bên phải, tạo mới 1 khóa 32-bit DWORD với các giá trị như sau:

Name: EnableBalloonTips

Value: 0

Hoặc đơn giản hơn, các bạn có thể sử dụng file DisableNotificationBalloons.reg đã được chuẩn bị sẵn tại đây hoặc qua MediaFire.