Прочитайте значения реестра (чтобы получить размер значка на рабочем столе) в C#
Чтобы упростить использование методов реестра, в этом примере определяется класс RegistryTools, который содержит статические методы взаимодействия с реестром. Следующий код показывает метод GetRegistryValue.
// Получить значение реестра. 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 подраздела для получения желаемого значения и возвращает его. Обратите внимание, что возвращаемое значение является неспецифицированным объектом . Различные настройки реестра содержат разные типы данных, поэтому вызывающий код отвечает за преобразование объекта в соответствующий тип данных.
Пример программы использует следующий код для отображения размера значка рабочего стола.
// Получаем размер значка рабочего стола. 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 для получения значения, хранящегося в:
HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\Shell Icon Size