Прочитайте значения реестра (чтобы получить размер значка на рабочем столе) в 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
