有些操作需要管理员权限,比如写注册表,所以就有了以下代码:
if (WindowsIdentity.GetCurrent().Owner == WindowsIdentity.GetCurrent().User) // Check for Admin privileges { ProcessStartInfo info = new ProcessStartInfo(Process.GetCurrentProcess().MainModule.FileName); info.UseShellExecute = true; info.Verb = "runas"; // invoke UAC prompt Process.Start(info); Application.Current.Shutdown(); return; }
然后又问你是否同意,都是用户账户控制(UAC)惹的事,我明明是管理员身份证登录windows的,需要我再次确认,就想着能不能把UAC关闭了,发现是可以的:
- 按键盘的“窗口+R”,在运行窗口中输入“gpedit.msc”回车,打开“本地组策略编辑器”
- 在编辑器的左面的列表中,依次点开“计算机配置”、“windows设置”、“安全设置”、“本地策略”、“安全选项”
- 禁用“用户账户控制:以管理员批准模式运行所有管理员”
- 禁用“用户账户控制:用于内置管理员账户的管理员批准模式”
来源:https://www.cnblogs.com/catzhou/archive/2020/03/11/12462721.html