田草博客

互联网田草博客


网友交流QQ群:11740834 需注明申请加入原因

微信 公众号:ByCAD

邮箱:tiancao1001x126.com
ByCAD,微信公众号
首页 | 普通 | 电脑 | AutoCAD | VB/VB.NET | FLash | 结构 | 建筑 | 电影 | BIM | 规范 | 软件 | ID
-随机-|-分布-
-博客论坛-|-﨣﨤﨧﨨-
-网站导航-|-规范下载-
-BelovedFLash欣赏-

用户登陆
用户:
密码:
 

站点日历
73 2024 - 11 48
     12
3456789
10111213141516
17181920212223
24252627282930


站点统计

最新评论



InStr、IndexOf不一样,一个是从1开始一个是0开始 通过修改程序解决win7下应用程序兼容性助手弹出
未知 通过修改app.manifest使程序以管理员身份运行   [ 日期:2020-09-14 ]   [ 来自:转发 ]  HTML
通常我们使用c#编写的程序不会弹出这个提示,也就无法以管理员身分运行。微软的操作系统使用微软的产品方法当然是有的,通过app.manifest配置可以使程序打开的时候,弹出UAC提示需要得到允许才可以继续,这样就获得了管理员的权限来执行程序

微软在Windows Vista开始引入了UAC(用户帐户控制)新技术(点击这儿了解什么是UAC)。当程序执行时需要权限的话,UAC会弹出警告消息:让用户确认是否同意允许这个程序改变你的计算机配置,windows需要得到你的许可才可以让程序继续执行下去。

通常我们使用c#编写的程序不会弹出这个提示,也就无法以管理员身分运行。微软的操作系统使用微软的产品方法当然是有的,通过app.manifest配置可以使程序打开的时候,弹出UAC提示需要得到允许才可以继续,这样就获得了管理员的权限来执行程序。

方法如下:

打开vs2005、vs2008等工程,在【解决方案资源管理器】里查看是否有app.manifest这个文件,如果没有的话,通过以下方法创建:

方法1:

1、在【解决方案资源管理器】右键工程名称选择属性;
2、在弹出的该对话框中,选择【安全性】选项卡。
3、勾选【启用ClickOnce安全设置】,并选中【这是完全可信的应用程序】。
4、保存工程,这时候app.manifest就自动创建了。

按此在新窗口打开图片

按此在新窗口打开图片

VS2008 工程属性安全性

c# app.manifest


打开app.manifest把默认的配置修改一下,通过代码的注释,可以知道需要修改的节点是【requestedExecutionLevel】

按此在新窗口打开图片

app.manifest 设置


asInvoker : 如果选这个,应用程序就是以当前的权限运行。

highestAvailable: 这个是以当前用户可以获得的最高权限运行。

requireAdministrator: 这个是仅以系统管理员权限运行。

找到<requestedExecutionLevel  level="asInvoker" uiAccess="false" />
把其改为<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

这时候修改完成,按下F5进行调试,通常会收到如下的错误提示:【ClickOnce 不支持请求执行级别“requireAdministrator”】。

事情好像发生了相互矛盾,上面开启【ClickOnce】便自动创建了app.manifest,现在修改了app.manifest却提示:ClickOnce 不支持请求执行级别“requireAdministrator”。

解决方法是:只要把【启用ClickOnce安全设置】不勾选就可以了。

如果操作步骤正确,按下F5进行调试,会弹出如下的提示框,VS具有提升的权限。
 
按此在新窗口打开图片

vs2008 具有提升的权限


这样我们编写的应用程序在运行后,就会首先弹出这样一个提示框 , 点【Yes】后,程序才可以继续运行,并且获得系统管理员的权限。

方法2:

为工程项目添加一个类,应用程序清单文件(app.manifest)。


c# 添加应用程序清单文件
按此在新窗口打开图片

然后可以看到app.manifest的位置不在Properties属性里了,变成在引用里了,其节点内容也少了一些。

c# 引用 app.manifest 

按此在新窗口打开图片

剩下的方法和上面相同。这样跳过了【启用ClickOnce安全设置】这步,直接执行,不会出错了。




[本日志由 tiancao1001 于 2020-09-14 10:45 PM 编辑]


暂时没有评论
发表评论 - 不要忘了输入验证码哦!
作者: 用户:  密码:   注册? 验证:  防止恶意留言请输入问题答案:3*4=?  
评论:

禁止表情
禁止UBB
禁止图片
识别链接
识别关键字

字体样式 文字大小 文字颜色
插入粗体文本 插入斜体文本 插入下划线
左对齐 居中对齐 右对齐
插入超级链接 插入邮件地址 插入图像
插入 Flash 插入代码 插入引用
插入列表 插入音频文件 插入视频文件
插入缩进符合
点击下载按钮 下标 上标
水平线 简介分割标记
表  情
 
Tiancao Blog All Rights Reserved 田草博客 版权所有
Copyright ©