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

Источник: http://csharphelper.com/blog/2017/09/read-registry-values-to-get-the-desktop-icon-size-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector