重庆建设教育培训管理系统网站,来宾城乡建设局网站,深圳软件定制开发,即将新款手机上市c#通过app.manifest使程序以管理员身份运行 时间:2013-06-27 22:47来源:网络收集本站整理 作者:jtydl 点击: 1175 次微软在Windows Vista开始引入了UAC#xff08;用户帐户控制#xff09;新技术#xff08;点击这儿了解什么是UAC#xff09;。当程序执行时需要权限的话本站整理 作者:jtydl 点击: 1175 次 微软在Windows Vista开始引入了UAC用户帐户控制新技术点击这儿了解什么是UAC。当程序执行时需要权限的话UAC会弹出警告消息让用户确认是否同意允许这个程序改变你的计算机配置windows需要得到你的许可才可以让程序继续执行下去。 通常我们使用c 微软在Windows Vista开始引入了UAC用户帐户控制新技术点击这儿了解什么是UAC。当程序执行时需要权限的话UAC会弹出警告消息让用户确认是否同意允许这个程序改变你的计算机配置windows需要得到你的许可才可以让程序继续执行下去。通常我们使用c#编写的程序不会弹出这个提示也就无法以管理员身分运行。微软的操作系统使用微软的产品方法当然是有的通过app.manifest配置可以使程序打开的时候弹出UAC提示需要得到允许才可以继续这样就获得了管理员的权限来执行程序。方法如下打开vs2005、vs2008等工程在【解决方案资源管理器】里查看是否有app.manifest这个文件如果没有的话通过以下方法创建方法11、在【解决方案资源管理器】右键工程名称选择属性2、在弹出的该对话框中选择【安全性】选项卡。3、勾选【启用ClickOnce安全设置】并选中【这是完全可信的应用程序】。4、保存工程这时候app.manifest就自动创建了。 打开app.manifest把默认的配置修改一下通过代码的注释可以知道需要修改的节点是【requestedExecutionLevel】 asInvoker : 如果选这个应用程序就是以当前的权限运行。highestAvailable: 这个是以当前用户可以获得的最高权限运行。requireAdministrator: 这个是仅以系统管理员权限运行。找到requestedExecutionLevel levelasInvoker uiAccessfalse /把其改为requestedExecutionLevel levelrequireAdministrator uiAccessfalse /这时候修改完成按下F5进行调试通常会收到如下的错误提示【ClickOnce 不支持请求执行级别“requireAdministrator”】。事情好像发生了相互矛盾上面开启【ClickOnce】便自动创建了app.manifest现在修改了app.manifest却提示ClickOnce 不支持请求执行级别“requireAdministrator”。解决方法是只要把【启用ClickOnce安全设置】不勾选就可以了。如果操作步骤正确按下F5进行调试会弹出如下的提示框VS具有提升的权限。 这样我们编写的应用程序在运行后就会首先弹出这样一个提示框 , 点【Yes】后程序才可以继续运行并且获得系统管理员的权限。方法2为工程项目添加一个类应用程序清单文件app.manifest。 然后可以看到app.manifest的位置不在Properties属性里了变成在引用里了其节点内容也少了一些。 剩下的方法和上面相同。这样跳过了【启用ClickOnce安全设置】这步直接执行不会出错了。 转自http://www.wodernet.com/4/405/20130609/686.html