C# 将 Windows UAC 级别更改为始终通知

Uda*_*age 3 c# registry uac

我想将机器的 UAC 级别更改为“始终通知”级别,这是顶级级别。

我尝试将以下注册表项值更改为 1.Key =HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

const string UACkey = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System";
            const string Subkey = "EnableLUA";
RegistryUtilities.SetValue(UACkey, Subkey, **1**, Microsoft.Win32.RegistryValueKind.DWord, RegistryUtilities.WOW64Key.Key64);
Run Code Online (Sandbox Code Playgroud)

这导致 UAC 处于第三级(程序尝试进​​行更改时通知)。

如何将其设置为顶级?

Bal*_*i C 5

我通过更改 UAC 并同时打开 regedit,并观察哪些值发生了变化,成功找到了这一点。

当处于顶部设置时,该值

ConsentPromptBehaviorAdmin
Run Code Online (Sandbox Code Playgroud)

更改为2, 而不是5在第三级时更改(微软的逻辑很好)。改变这个值也EnableLUA应该做到这一点。

希望这可以帮助