windows的以管理员身份运行到底是怎么回事?

[图片] [图片] 如上图,QQ总会跳出来各种求权限, 我猜这是自动更新,虽然我在设置里关了自动更新, 于是我一次次的点否, ---这都不是事--- …
关注者
45
被浏览
28,654
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

Windows 会根据其他的事情判断是否需要提升运行。

例如,exe 文件带有 setup 字样,或者检测到该文件里面有 典型需要提升权限的代码特征 的时候。

标准的告知 Windows 程序是否需要提升权限的方法是把这件事情写到 manifest 里面。

上述标准满足一个,或者已经在兼容性设置中要求以管理员身份运行时,就会运行。

这是一个 的逻辑。

最后,应用程序可以判断自己的权限,完全可以设计下面这样的应用程序:

1、在 manifest 上写“自己不用管理员权限”;

2、启动后检查自己是否有管理员权限,如果有,则执行正常逻辑;

3、如果没有,则使用 runas 这个 verb 启动自己,并结束本身这个进程。

我猜这是自动更新,虽然我在设置里关了自动更新,

如果您在 Windows Update 里面关掉了自动更新,是没用的。如果您在 QQ 里面关掉了自动更新,那么只能说明 QQ 没有正确实现 不自动更新 功能。

关于为什么 QQProtect 之类的“安全守护”进程不能取消提示,是因为它可能是一个服务,而一个服务不总是可以和本地用户交互,因此不可能利用那个服务来做自动更新。实际上,这也是不推荐的做法。不过腾讯想弄自动更新,可以直接安一个服务进去,专门用于更新。

我就希望,不给管理员权限的程序都老老实实以普通权限运行,
而不是一次次把我从全屏游戏拖回桌面来问我给不给管理员权限,
我不给,
要怎么做才能让这程序知道我一定不会给它管理员权限的,
怎么才能让它死了这条心,不要一次次问我,

大众没有这种需求,因此 Microsoft 没有做进去。

要阻止一个特定名字的 exe 运行,可以用 gpedit.msc,也可以用 镜像映射(a.k.a. 镜像劫持)将它重定向到一个人畜无害的 exe 上。要组织特定签名的 exe 运行,可以用 gpedit.msc。

最后,没有办法阻止 UAC 的提示(除了关掉 UAC)。类似地,通知区域的气球也是无法阻止的。简单的方法是,不用 QQ。