编程语言
首页 > 编程语言> > 记录一次由于权限问题导致的程序卡顿问题

记录一次由于权限问题导致的程序卡顿问题

作者:互联网

前段时间朋友给我发送了一个exe,问题是这样的:程序在以管理员权限即high权限下运行时正常,而以受限管理员和普通用户权限即medium权限下运行时,在某一个操作下会卡顿2-3s。

本文描述了如何解决这个问题的思路。

朋友给我发送了一个带盾牌的exe,

背景知识:

  1. 带盾牌的意思是双击exe时,会弹出UAC(User  Account Control用户账户控制)框,需要点击确定才能提升到high权限,这个也跟系统设置有关,默认是有UAC控制的。

  2. 当编译exe的时候,如果存在manifest资源文件且XML内容中level = "requireAdministrator",那么就会带盾牌,程序就必须以High权限运行才可以,默认情况下我在windows下编译的程序都带有manifest文件,内容level = "asInvoker",表明进程启动权限继承自父进程权限。

第一个想法是当我双击exe时会请求提权,那我怎么以中等权限运行这个程序呢,为了解决这个问题,我使用resource_hacker工具打开exe,删除资源文件中的manifest信息,接着将exe另存一个文件,这个新的文件就不带盾牌了,双击时正常情况即可以普通权限运行,但是测试时发现这个删除了manifest信息的exe以medium权限运行时并没有卡顿问题,此时觉得朋友的描述有问题。

然后朋友另外给我发送了一个exe,以及一个安装包,并说明第一次发送的带盾牌的程序是错误的,需要使用第二次发送的安装包进行测试

标签:文件,exe,代码,程序,manifest,问题,权限,卡顿
来源: https://www.cnblogs.com/ps12345678/p/16462997.html