CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 662

662
Chương 17: Sự hòa hợp với môi trường Windows

// Nhấn Enter để kết thúc.

Console.WriteLine("Main method complete. Press Enter.");

Console.ReadLine();

}

public static void UpdateUsageCounter(RegistryKey root) {

// Tạo một khóa để lưu trữ biến đếm,

// hoặc lấy tham chiếu đến khóa đã có.

RegistryKey countKey = root.CreateSubKey("RegistryExample");

// Đọc giá trị của biến đếm hiện tại, và chỉ định

// giá trị mặc định là 0. Ép đối tượng về kiểu Int32,

// và gán vào một giá trị int.

int count = (Int32)countKey.GetValue("UsageCount", 0);

// Ghi biến đếm đã được cập nhật trở lại Registry,

// hoặc tạo một giá trị mới nếu nó chưa tồn tại.

countKey.SetValue("UsageCount", ++count);

}

public static void SearchSubKeys(RegistryKey root,

String searchKey) {

// Lặp qua tất cả các khóa con trong khóa hiện tại.

foreach (string keyname in root.GetSubKeyNames()) {

try {

using (RegistryKey key = root.OpenSubKey(keyname)) {

if (keyname == searchKey) PrintKeyValues(key);

SearchSubKeys(key, searchKey);

}

} catch (System.Security.SecurityException) {

// Bỏ qua SecurityException với chủ định của ví dụ này.

// Một số khóa con của HKEY_CURRENT_USER được bảo mật