C#开启和关闭UAC功能

在开发软件或制作安装包时,有时会需要管理员权限 ,但是又不想弹出UAC对话框。

可以编写一个小工具,检测UAC是否关闭。如果没有关闭,就自动关闭UAC。

实现比较简单,

找到注册表

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 下的EnableLUA 值,改为0 。默认是1

C#实现代码如下

复制代码
 1  private bool DisableUAC()
 2         {
 3             try
 4             {
 5                 string path = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System";
 6                 string uac = "EnableLUA";
 7                 RegistryKey key = Registry.LocalMachine.CreateSubKey(path);
 8                 if (key != null)
 9                 {
10                     key.SetValue(uac, 0, RegistryValueKind.DWord);
11                     key.Close();
12                 }
13 
14                 return true;
15             }
16             catch(Exception ex)
17             {
18                 MessageBox.Show(ex.Message);
19                 return false;
20             }
21         }
22 
23         private void Reboot()
24         {
25             System.Diagnostics.Process.Start("shutdown", " -r -t 0");
26         }

示例代码

相关推荐
软件黑马王子11 分钟前
24.Editor 资源加载:主要作用和基本原理
开发语言·前端框架·c#
慧都小妮子19 分钟前
用 Python 批量把 PDF 参考文献排成 MLA 格式:Spire.Doc for Python 实战
python·pdf·c#·spire.doc·mla格式·参考文献排版·pdf批量处理
天机玄正3 小时前
云运维高阶二:CLI 调用 API (白名单追随)
windows·云原生
您^_^3 小时前
DeepSeek-Harness v0.1.5-alpha.1更新后旧会话打不开?5 步抢救 8MB 会话照抄
人工智能·windows·个人开发·deepseek v4 pro·deepseekharness
UIU1144 小时前
补码运算与整数溢出(上
学习·c#·补码·补码运算
正仪4 小时前
systemd 是什么?
linux·运维·windows
小溪学编程4 小时前
Java ListIterator 接口详解:双向遍历与列表修改的利器
java·开发语言·windows
2601_962364975 小时前
没有 TPM2.0,还能用 Windows Hello 摄像头吗?
windows·安全·电脑
曹牧5 小时前
C#:模态对话框
开发语言·c#
咕白m6255 小时前
C# 如何限制 PDF 复制、打印权限?
c#·.net