как я получаю имена значений реестра в С# и помещаю их в список

-6

я хочу получить все значения в "Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU" и поместить его в список

через С#.

спросил(а) 2021-01-19T21:28:11+03:00 6 месяцев, 1 неделя назад
1
Решение
78

ИЗМЕНИТЬ СНОВА ДЛЯ Windows Form

Здесь полный список, если у вас есть ListBox с идентификатором "lbKeys":

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.UI;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{

public partial class Form1 : Form
{

public Form1()
{

RegistryKey myKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU");

// Check to see if there were any subkeys
if (myKey.SubKeyCount > 0)
{
foreach (string subKey in myKey.GetSubKeyNames())
{
lbKeys.Items.Add(subKey);
}
}
}
}

Там, возможно, не было каких-либо подразделов для ключа, на который вы смотрели, - в соответствии с предыдущим кодом, который я вам дал, цикл foreach ничего не сделал, потому что нечего было прокручивать.

ответил(а) 2021-01-19T21:28:11+03:00 6 месяцев, 1 неделя назад
63

Используйте OpenSubKey, чтобы открыть Программное обеспечение \Microsoft\Windows\CurrentVersion\Explorer\RunMRU, а затем вызвать GetSubKeyNames, чтобы получить имена подраздела. Вот вам хороший пример.

Я думаю, что положить их в ListBox - довольно простая задача.

RegistryKey keys Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU");

foreach (string subKeyName in keys.GetSubKeyNames())
{
using(RegistryKey tempKey = keys.OpenSubKey(subKeyName))
{
Console.WriteLine("\nThere are {0} values for {1}.",
tempKey.ValueCount.ToString(), tempKey.Name);

foreach(string valueName in tempKey.GetValueNames())
{
Console.WriteLine("{0,-8}: {1}", valueName,
tempKey.GetValue(valueName).ToString());
}
}
}

ответил(а) 2021-01-19T21:28:11+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема