在vs下编程时,经常会用到一些特殊的权限,尤其是管理员权限,下面是在win7下笔者亲测通过的。

下面要分两种情况:

第一种情况就是在vs2003或者以下的编译器中运行

1、准备一个manifest文件,命名如下:XPStyle.manifest

文件的内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="5.1.0.9" processorArchitecture="X86" name="XPStyle.manifest" type="win32"
/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security>
</trustInfo>
</assembly>

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

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

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

2、然后保存,放到和资源文件(.rc)放到一个目录下

3、用文件编辑器打开上述资源文件,在最后一行加上

1 24 "XPStyle.manifest"

1是资源id,24是资源的名称,必须是1和24

4、然后保存重新编译程序就好了。

这里有个注意事项要说明:就是这样生成的exe文件不能调试运行,只能双击运行,要想用管理员身份的调试,需要让编译器以管理员身份运行同时把资源文件中的添加的那行注释掉就好了。

如果直接点调试运行会造成关不掉你那个程序,用任务管理器也不能关掉。

第二种情况是在vs2005以上的编译器中运行

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

方法1:

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

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

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具有提升的权限。

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

方法2:

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

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

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

关于win10 64 位,C#无法 使用软键盘的问题解决方案相关推荐

  1. win10服务器只显示4g内存,系统win10 64位 两个内存条一个4g一共8g显示8g但是可用只有3.9g...

    点击查看系统win10 64位 两个内存条一个4g一共8g显示8g但是可用只有3.9g具体信息 系统win10 64位 两个内存条一个4g一共8g显示8g但是... 答:在开始图标上右键,选择运行,输 ...

  2. win10 64位SSDT函数索引动态查找

    在win10 64位下SSDT是不导出的.同时如果你要hook某个函数时你要知道他的索引,以前都是调试或者网上找然后硬编码进去.这里动态找. 原理是上层调用的所有函数都经过ntdll 然后进入0环,进 ...

  3. 外网win10 64位环境下 为内网win7 32位安装三方包的最靠谱手段:python64位、32位全安装。...

    经过一周的各种折磨,如题.以下是我的经验和教训. 我的外网是win10 64位,内网环境win7 32位.由于未知原因,anaconda无法安装!!! 其实最靠谱的安装三方包的还是whl包.但是很有可 ...

  4. (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功

    (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功 Visual Studio 2015下载地址:https://msdn.itellyo ...

  5. (1)win10 64位系统ISE14.7闪退问题(FPGA不积跬步101)

    1 引言 自救就是在一个危险环境中,没有他人的帮助扶持下,靠自己的力量脱离险境,这就是自救. 善于积累也就是自救. 2 ISE14.7闪退处理流程 1 )问题描述如下: win10 64位系统安装IS ...

  6. Win10 64位安装SQL2000(个人版)

    默认Win10上是不允许安装SQL2000的,毕竟SQL2000已经是10多年前的老软件了,但是因为它成熟稳定,相比SQL2005,SQL2008R2,SQL2012,SQL2014,体积要小的多,所 ...

  7. Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试

    Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试 在这里只介绍all in one方式安装 1.软件准备 安装pcl(点云库)需要涉及pcl.pc ...

  8. Win10(64位)系统清除BIOS密码的方法

    破解SETUP密码 之 Dubug法 在遗忘密码之后只需在DOS状态下启动Debug,然后输入如下命令即可手工清除密码: - o 70 16 - o 71 16 - q 注:-符号为默认,无需输入.注 ...

  9. win10 64位系统上注册wincc的ocx插件问题

    win10 64位系统上注册wincc的ocx插件问题 今天下载一个anigif动态图控件,注册时死活注册不了 在win10操作系统下注册OCX控件,主要有以下几个步骤: 1.以管理员的身份打开命令提 ...

  10. Win10 64位下解决 NVIDIA 显示设置不可用(小白问题)

    Win10 64位下解决 NVIDIA 显示设置不可用,您当前未使用连接到NVIDIA GPU 的显示器: 百度了一大片网上大佬给出好多个可能的问题: 1:右键点击我的电脑,右键选择属性.在弹出的页面 ...

最新文章

  1. vs打开php项目路径,如何让vscode右键项目文件夹打开
  2. .如何在Linux上安装Postman应用程序?
  3. FP-growth算法高效发现频繁项集
  4. python白名单验证是什么意思_第10.5节 使用__all__定义Python模块导入白名单
  5. Gym - 100851F Froggy Ford kruskal
  6. Liferay 部署war包时候的deployDirectory 细节分析
  7. webview代码实例化_WebView常用类和基本方法详解
  8. 制作jffs2根文件系统
  9. Javaweb学习笔记——使用Jdom解析xml
  10. pytorch BCELoss()、KLDivLoss()的参数 及 “对于size_average、reduce、reduction参数的研究”
  11. 基于MATLAB的数字水印技术实现
  12. 转换YV12到RGB565图像转换,附YUV转RGB测试
  13. JavaWeb开发QQ动态表情-源文件
  14. JGG专刊征稿:时空组学
  15. opencv以图片名称为索引顺序读取多张图片
  16. app注册协议做法和注意事项
  17. python获取当前日期_python获取当前的日期和时间
  18. 用计算机算出爸爸我爱你,爸爸,我爱你。
  19. “===”、“==” 的区别
  20. 基于单片机的太阳能热水器系统

热门文章

  1. 希沃展台如何使用_电子白板基本操作及展台使用教程
  2. 大数据常用到的25个名词
  3. 北美求职之寻找内推资源
  4. 大数据入门10:向量空间模型(Vector Space Model)
  5. 见证取样员试题及答案
  6. 使用 iframe出现了缓存,导致页面不会刷新的解决方案
  7. Python简单实现双色球功能
  8. 2021-2027全球与中国草药补充剂和药物市场现状及未来发展趋势
  9. 染成茜色的坂道 圣诞汉化补丁翻译讨论(有点雷)
  10. Java秋招面经(二)