问题
I want to change the UAC level of the machine to "Always Notify" level which is the top level.
I tried changing the following registry key value to 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);
This result in UAC to be in 3rd level (Notify when programms try to make changes).
How to set it to top level?
回答1:
I managed to find this by changing UAC and having regedit open at the same time, and watching which values changed.
When on the top setting, the value
ConsentPromptBehaviorAdmin
changes to 2, rather than 5 when it's on the 3rd level (nice logic there Microsoft). Changing that value as well as EnableLUA should do it.
Hope this helps
来源:https://stackoverflow.com/questions/11611516/c-sharp-change-windows-uac-level-to-always-notify