Загрузка...

Easy work with the registry via dynamic [.NET 9]

Thread in C# created by smatchannel Dec 23, 2024. (bumped Dec 30, 2024) 232 views

  1. smatchannel
    smatchannel Topic starter Dec 23, 2024 10 Mar 10, 2020
    CSHARP
    using Microsoft.Win32;
    using System.Dynamic;
    using System.Runtime.Versioning;

    namespace RegDynamic;

    [SupportedOSPlatform("windows")]
    public class RegistryDynamic : DynamicObject
    {
    private readonly RegistryKey _registryKey;

    public RegistryDynamic(RegistryKey registryKey)
    {
    _registryKey = registryKey;
    }

    public override bool TryGetMember(GetMemberBinder binder, out object? result)
    {
    result = _registryKey.GetValue(binder?.Name, null);
    return result != null;
    }

    public override bool TrySetMember(SetMemberBinder binder, object? value)
    {
    _registryKey.SetValue(binder?.Name, value!);
    return true;
    }
    }

    [SupportedOSPlatform("windows")]
    class Program
    {
    static void Main(string[] args)
    {
    using var key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Qt\Qt Apps");
    dynamic registry = new RegistryDynamic(key!);
    Console.WriteLine(registry.uuid); // Получение значения.
    registry.uuid = "my value"; // Изменение значения
    }
    }
    [IMG]
    [IMG]
     
  2. viknsagit
    viknsagit Dec 28, 2024 0 Jul 11, 2021
    Случайно не знаешь, как можно менять групповые политики через шарп?
     
    1. smatchannel Topic starter
      viknsagit, библиотека GPMgmtLib есть, либо через тот же рестр, либо через System.Management
    2. viknsagit
Loading...
Top