.NET MAUI Есть ли способ написать в реестр в Windows? System.security.securityException: «Запрашиваемый доступ реестр неC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 .NET MAUI Есть ли способ написать в реестр в Windows? System.security.securityException: «Запрашиваемый доступ реестр не

Сообщение Anonymous »

Я пытаюсь прочитать и написать в конкретных ключах в реестре Windows из приложения .net Maui, и я сталкиваюсь с исключением.HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4d36e972-e325-11ce-bfc1-08002be10318}
< /code>
Кажется, я могу сделать это просто хорошо, однако, когда попытаюсь получить доступ к конкретному сетевому интерфейсу, я получаю исключение < /p>
System.Security.SecurityException: 'Requested registry access is not allowed.'
< /code>
Вот фрагмент соответствующего кода: < /p>
void GetNetworkAdapters()
{
#if WINDOWS
const string REGISTRY_PATH = "SYSTEM\\CurrentControlSet\\Control\\Class\\{4d36e972-e325-11ce-bfc1-08002be10318}";

// Navigate to the key in the Windows Registry which contains the network adapter information
var registryKey = Registry.LocalMachine.OpenSubKey(REGISTRY_PATH); // Exception is NOT thrown here

if (registryKey == null)
return;

// Iterate through the subkeys/network adapters
foreach (string subKeyName in registryKey.GetSubKeyNames())
{
// Read the relevant info from each network adapter and assign it to the NetworkAdapter object
var subKey = Registry.LocalMachine.OpenSubKey($"{REGISTRY_PATH}\\{subKeyName}"); // This is where the exception gets thrown!!

if (subKey == null)
continue;

// Assign values from the registry to the NetworkAdapter model in my project
var networkAdapter = new NetworkAdapter
{
Id = subKey.GetValue("NetCfgInstanceId")?.ToString(),
Name = "Device Name", // Placeholder, as this is not directly available in the registry
Description = subKey.GetValue("DriverDesc")?.ToString(),
MacAddress = NetworkAdapter.ConvertMacAddressToString(subKey.GetValue("NetworkAddress")?.ToString() ?? string.Empty)
};

// Add newly created NetworkAdapter to collection
NetworkAdapters?.Add(networkAdapter);
}
#endif
}
< /code>
После некоторого поиска в Интернете я смог найти потенциальное решение, но оно не описывает точно, какие файлы для создания /редактирования:

.net maui - привилегии администратора в Windows < /p>
обновление: < /strong> я занял время, чтобы узнать о приложении. Manifest File и PackageSmanif, и, Sake Sake Throus, и Sake Sake Throus, и, Sake Sake Throus, и, Sake Sake Throus, и, Sake Sake Throus, и, Sake Sake, и, Sake Sake Throus, и Sake Sake Throus, и Sake Sake Throus. Сейчас я использую Visual Studio 2022 в качестве администратора, и, однако, когда я отлаживаю приложение, я все еще получаю тот же результат.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ecurity-se
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»