【IT168 技术文档】通过该小结的动手实验,我们能够了解到通过Manifest进行UAC权限设置,学会在Visual Studio中进行编写Manifest清单文件。
注意:在Demo中演示的是VB项目,生成Manifest的方式和VC#略有不同,但是Manifest文件的格式和用途是一样的,本实验基于C#
1.Visual Studio 2008中进行对应用程序的UAC设置
(1) 打开Begin项目(C:\Course\HOL\使用Manifest\Begin)
(2) 按F5执行,没有任何问题,如右图:
(3) 关闭程序,到目录C:\Course\HOL\使用Manifest\End\WindowsFormsApplication1\bin\Debug,我们看到WindowsFormsApplication1.exe的图标上没有盾牌,刚刚执行时,也没有提示权限提升。
(4) 在项目上点击右键,选择Add->New Item…
(5) 找到项目“Application Manifest File”,名字为:app.manifest,点击”Add”按钮。
(6) 将下面这段代码:
(7) 在解决方案上点击右键,选择“Rebuild Solution”
(8) 重新回到目录:C:\Course\HOL\使用Manifest\End\WindowsFormsApplication1\bin\Debug,我们会看到WindowsFormsApplication1和刚刚的显著不同,就是程序图标上多了一个盾牌。
(9) 双击WindowsFormsApplication1,会看到UAC提示
(10) 点击按钮“是”,程序正常执行。
2.为应用程序添加使用Shield图标
(1) 打开Begin项目(C:\Course\HOL\使用Shield图标\Begin
(2) 按F5执行,看到执行窗体,这个窗体上有一个按钮,并且按钮上没有盾牌小图标。
(3) 关闭程序,在Form1.cs上点击右键,选择View Code
(4) 在From1.cs中,添加:
using System.Diagnostics;
(5) 在Form1函数声明后,添加如下代码:
(6) 双击Form1.cs,回到设计视图,然后双击Form1窗体,生成Form1_Load事件,填写事件代码如右边所示
(7) 在Shield Button上双击,生成button1_Click事件,填写代码如右边所示,请注意,在此代码中我们调用的是动手实验【使用Manifest】的End中编译好的exe,请首先确认此exe是存在的。
(8) 按F5,运行程序。
(9) 当点击按钮时,会看到UAC提示,请注意,这个提示是由于本身调用的程序需要权限提升。我们的代码仅仅是给button增加了盾牌图表。
(10) 点击按钮“是”,实验完成。