winsystem

  |  手机版

收藏网站

投稿QQ:1745232315

IT专家网,汇聚专业声音 解析IT潮流 IT专家网,汇聚专业声音 解析IT潮流

网络

专家视点在现场环球瞭望
IT专家网 > winsystem

Visual Studio对应用程序的UAC设置

作者:丁丁出处:IT专家网2010-09-01 08:37

  通过该小结的动手实验,我们能够了解到通过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) 将下面这段代码:

以下是代码片段:
<requestedExecutionLevel level="asInvoker" uiAccess="false" />

  替换成

以下是代码片段:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

  (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.Runtime.InteropServices;
  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) 点击按钮“是”,实验完成。

相关文章

关键词:Visual Studio,微软技术,环球瞭望

责任编辑:valen

专题推荐

原创文章

微博互动

白皮书

网警备案