Как установить максимальное значение реестра QWORD и получить его программно? - PullRequest
0 голосов
/ 24 февраля 2019

Должен ли я иметь возможность программно установить значение QWORD реестра на UInt64.MaxValue, а значение DWORD на UInt32.MaxValue?

Я провел пару часов и не определился с правильным способомустановить или получить реестр QWORD.Максимальное значение QWORD должно быть UInt64.MaxValue или FFFFFFFFFFFFFFFF, правильно?Это то, что RegEdit позволяет мне установить его, но я не могу установить значение, используя пример Microsoft или любые другие примеры установки значений реестра.

У меня также есть проблема с DWORD, у меня проблема с установкой значенияно есть обходной путь для его извлечения.

            // Create HKCU\RegistryValueKind key
        RegistryKey rk = Registry.CurrentUser.CreateSubKey("RegistryValueKindExample");


        // This sets DWORD registry value to 7FFFFFFF instead of FFFFFFFF
        rk.SetValue("DWordValue", Int32.MaxValue, RegistryValueKind.DWord);

        // This sets QWORD registry value to 7FFFFFFFFFFFFFFFF instead of FFFFFFFFFFFFFFFF
        rk.SetValue("QuadWordValue", Int64.MaxValue, RegistryValueKind.QWord);



        // Unsigned UInt32 would be great for setting DWORD to max value...
        Console.WriteLine("UInt32.MaxValue=" + UInt32.MaxValue.ToString());
        Console.WriteLine("UInt32.MaxValue(Hex)=" + UInt32.MaxValue.ToString("X"));
        // But this line craps out: System.ArgumentException: 'The type of the value object did not match the specified RegistryValueKind or the object could not be properly converted.'
        //rk.SetValue("DWordValue", UInt32.MaxValue, RegistryValueKind.DWord); 


        // UInt64 would be great for setting QWORD to max value...
        Console.WriteLine("UInt64.MaxValue=" + UInt64.MaxValue.ToString());
        Console.WriteLine("UInt64.MaxValue(Hex)=" + UInt64.MaxValue.ToString("X"));
        // But this line craps out: Same error as setting DWORD value to UInt32.MaxValue
        rk.SetValue("QuadWordValue", UInt64.MaxValue, RegistryValueKind.QWord);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...