windows的以管理员身份运行到底是咋回事

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。
■网友
首先,程序弹UAC是因为程序请求了相关权限, 上面的说的很详细了。我就希望,不给管理员权限的程序都老老实实以普通权限运行,默认情况下普通权限是无法更改系统关键位置的文件的。而程序可以声称“如果本程序不对处于保护范围的文件进行操作,则程序无法正常运行”。所以这时候它就弹出来UAC了。很有可能程序本身设定的就是不能按普通权限跑的。我的方法:本来也是用QQ的。某次QQ不能运行(说的是版本太低),要求升级。升级之后,每次运行都会启动腾讯的升级程序,遂使用IFEO(Image File Execution Options)重定向到自己写的程序上。之后重装系统之后QQ就扔到了虚拟机当中了,现在很少用了。感觉一部分软件不是特别的用户友好。用户觉得该软件就实现了个普通功能,然而软件却需要稀奇古怪的权限。一个普通的2048游戏要访问你的打印机你觉得正常吗?
■网友
超烦,尤其是玩游戏看电影到high的时候,一个弹框瞬间萎了-我把腾讯弹的所有东西都在防火墙禁用了-一段时间内很管用,可是更新以后又炸了---现在电脑里没有腾讯QQ了,有事只用网页版。虽然不方便,但是也不烦


    推荐阅读