使用Visual Studio 2008编写出采用户帐户控制UAC的程序(后续)

上次同样的题目同样的文章,由于没有附上图,因此让朋友们看起来有些不直观。今日应一个网友的要求,我将截图附上,还恳望各位朋友们指点。今日写这个后续不仅仅是为了只附上几张图来讲解,更重要的是来纠正我在上一篇文章《使用Visual Studio 2008编写出采用户帐户控制UAC的程序》中说错的一句话。我曾经在上一篇文章中指出经过修改app.manifest文件在VS中直接编译运行无法控制UAC从而获得管理员权限访问系统,今日我来纠正这个错误:通过修改app.manifest文件,是可以在VS中直接编译运行后获得管理员权限对系统进行访问的。

当编译运行您修改的程序后,VS程序会弹出一个警示框:

选择第一个带盾标志的选项“使用其他凭据重新启动”,即代表重新启动VS,使VS获得了访问操作系统权限从而使您的程序也获得了此权限。

下面我就将在前一篇文章中的关于如何在编译前使程序获得权限(我觉得这么说并不准确)的问题的步骤重新写一下,附图:

步骤如下:

  1. 在项目上右击鼠标,选择属性;
  2. 在属性卡中选择“安全性”,选择启用ClickOnce安全设置(打勾); 

  3. 然后,可以看到在解决方案管理器中多了一个app.mainfest文件,修改文件内容。

    将requestedPrivilege中的节点requestedExecutionLevel的level属性修改为requireAdministrator(见Code第18行)
    Code
  4. 然后将步骤2中的属性卡中的取消ClickOnce安全按属性(去除勾);

  5. 编译、运行程序;
  6. 打开Release或者Debug文件夹可以看到程序同一般的程序有所区别(它们已经带上了盾),这些程序已经采用了UAC。

posted on 2008-09-21 20:55  iPeterRex  阅读(2657)  评论(2编辑  收藏  举报

导航

转载本博客文章请注明转载地址、作者姓名