Прочитайте значения реестра (чтобы получить размер значка на рабочем столе) в C#
Чтобы упростить использование методов реестра, в этом примере определяется класс RegistryTools, который содержит статические методы взаимодействия с реестром. Следующий код показывает метод GetRegistryValue.
1 2 3 4 5 6 7 8 9 |
// Получить значение реестра. public static object GetRegistryValue(RegistryKey hive, string subkey_name, string value_name, object default_value) { RegistryKey subkey = hive.OpenSubKey(subkey_name, false); object result = subkey.GetValue(value_name, default_value); subkey.Close(); return result; } |
Параметр hive указывает часть реестра для поиска. Это должно быть что-то вроде Registry.ClassesRoot, Registry.CurrentConfig, Registry.CurrentUser, Registry.DynData, Registry.LocalMachine, или Registry.PerformanceData.
Метод создает объект RegistryKey для работы с подразделением внутри улья. Второй параметр OpenSubKey указывает, что для этого метода не требуется доступ к записи в подраздел.
Затем метод использует метод GetValue подраздела для получения желаемого значения и возвращает его. Обратите внимание, что возвращаемое значение является неспецифицированным объектом . Различные настройки реестра содержат разные типы данных, поэтому вызывающий код отвечает за преобразование объекта в соответствующий тип данных.
Пример программы использует следующий код для отображения размера значка рабочего стола.
1 2 3 4 5 6 7 8 9 |
// Получаем размер значка рабочего стола. private void btnGetSize_Click(object sender, EventArgs e) { object size_string = RegistryTools.GetRegistryValue( Registry.CurrentUser, @"Control Panel\Desktop\WindowMetrics", "Shell Icon Size", -1); txtSize.Text = size_string.ToString(); } |
Этот код использует метод GetRegistryValue для получения значения, хранящегося в:
1 |
HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\Shell Icon Size |