Win10下应用程序默认管理员权限运行

在Win10系统中,应用程序默认不再以管理员权限运行,这可能导致一些需要高权限的操作失败。本文介绍了四种方法来确保程序以管理员身份运行:1) 通过VS设置Manifest File的UAC Execution Level;2) VC++程序导入manifest文件;3) QT程序设置Manifest File的UAC Execution Level;4) 使用mt.exe导入manifest文件。这些方法无需用户手动设置,可使程序直接以管理员权限启动。
摘要由CSDN通过智能技术生成

        系统升级到win10后,普通应用程序不再默认以管理员权限运行了。当应用程序需要访问系统盘或调CreateFile函数进行IO驱动操作时,往往会失败,同时,通过GetLastError函数获取错误码为5——拒绝访问,权限不够。一般的解决办法是,右键***.exe,选择”以管理身份运行“,或者在“右键属性->兼容性”对话框中勾选“以管理员身份运行此程序”。(快捷方式也可以)

        有没有更彻底的解决办法?用户拿到程序后,无须任何设置,即可以管理员身份运行它。通过浏览网友的博客,大致找到了如下几种方法:


一、在VS中设置Manifest File中的UAC Execution Level

        按下图修改对应工程属性的选项:



        点击确认后,重新生成***.exe,即可以看到它的图标上有一个小盾牌。

        该方法来自博客:http://blog.csdn.net/whatday/article/details/39403199

        

二、VC++程序导入manifest文件

1,生成一个模板manifest文件

        以上面的Server工程为例,除了设置UAC之外,还需要进“工程属性 -> 清单工具 -> 输入输出 -> 嵌入清单”,将该选项修改为“否”。点击确认后,重新生成***.exe。在生成目录下可以看到“Server.exe.manifest”文件。默认是将manifest文件嵌入到了***.exe中,所以看不到。

        用notepad++打开该文件,如下:

<?xml version="1.0" encoding="UTF-8" standalone=&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值