程序提升权限的一个坑

最近在做一个涉及到海康监控的实现,里面用到了自动搜索局域网内的海康设备的功能,这个功能需要用到管理员权限,我通过修改vs的属性->配置属性->链接器->清单文件中的UAC执行级别为管理员后,测试代码发布的程序运行得好好的。

但是在实际的项目发布出来的Relese程序,直接点击怎么样都不能搜索到设备,而右键选择管理员模式运行就可以正常工作,同时在VS中运行直接运行不管是Release版本还是Debug版本,都是可以正常搜索到设备的。我还试着到发布Debug版本,结果也是能正常的。

出了鬼了,我是在程序要正式发布前夕才发现了这个问题,正要人命!(还要提一句,Windows10上面通过修改上面提到的配置,发布出来的exe是没有带盾牌的,所以我也没办法直接通过看这个盾牌来确定它已经是有管理员权限了)。当天已经快下班了,我一直在公司找资料和试验到很晚了还没找到解决办法。回到家后,我灵光一闪想到,既然测试程序的Release是正常运作的,那么修改UAC的配置肯定是没有问题的。正式程序中是不是还有别的设置导致这个问题?第二天,我一项一项比对项目配置的属性,终于让我找到了问题所在:

 把它修改后,程序终于可以正常工作了。

 

我后面还做了一下测试,发现新创建的工程,这个嵌入清单选项默认是选择“是”,至于工作工程为什么选了否,初步怀疑是优化工作时做的修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值