“__COMPAT_LAYER”实际上做了什么?

“__COMPAT_LAYER”实际上做了什么?,第1张

概述“__COMPAT_LAYER”实际上做了什么?

最近,我试图给我的应用程序pipe理员权限没有系统要求“你想给pipe理员权限? 我发现了一个完美的工作方式。

我find解决scheme

我创build了一个名为nonadmin.bat的bat文件,并在其中编写了下面的代码

cmd min C set __COMPAT_LAYER=RunAsInvoker && start %1

如果我们拖动它的任何exe文件,它给了他们pipe理员权限(在没有让我访问环境variables之前,但在拖拽文件之后,它确实工作)。

eclipse的最新版本是否与windows 10完全兼容?

JRE / windows版本兼容性

作曲者windows兼容的脚本

Win32:build议显式应用程序的testing与部署

我可以将AS400上的DB2数据库转储到windows或linux上吗?

现在我的问题是:

实际上'__COMPAT_LAYER'是什么意思,它是做什么的?

我如何删除这样的事情,以便再次要求pipe理员权限?

这是否会降低系统安全性?

批处理CMD用于不同版本的windows兼容性

Mac和windows之间的Matlab GUI兼容性(显示)

如何以编程方式设置“以pipe理员身份运行此程序”

什么版本的windows将支持.NET 4.0?

fgets()linux vs mac

__COMPAT_LAYER,以及如何使用它


__COMPAT_LAYER是一个系统环境变量,它允许您设置兼容性图层,这是您右键单击可执行文件时可以调整的设置,选择“属性”,然后转到“兼容性”选项卡。

除了您所了解的信息之外,还有几个选项供您选择 :

256色 – 以256色运行

640×480 – 以640×480屏幕分辨率运行

disablethemes – 禁用视觉主题

Win95 – 在windows 95的兼容模式下运行程序

Win98 – 在windows 98 / ME的兼容模式下运行程序

Win2000 – 在windows 2000的兼容模式下运行程序

NT4SP5 – 在windows NT 4.0 SP5的兼容模式下运行程序

您可以使用多个选项将它们分隔一个空格: set __COMPAT_LAYER=Win98 640x480

取消设置__COMPAT_LAYER变量


只要变量存在,这些设置就会一直存在。 当变量被设置的命令提示符关闭时,或者变量被手动取消set __COMPAT_LAYER=命令时,变量set __COMPAT_LAYER= 。

由于您正在通过批处理脚本设置变量,所以一旦拖动到其上的可执行文件完成并且脚本关闭,变量就会自动取消设置。 需要注意的是,变量设置会保留在您选择的可执行文件所产生的任何子进程中。

使用__COMPAT_LAYER的安全性


将__COMPAT_LAYER设置为RunAsInvoker 实际上并不给你管理员权限,如果你没有这些权限的话 ; 它只是防止出现UACd出窗口,然后以任何用户的身份运行该程序 。 因此,使用它是安全的,因为你不是神奇地获得管理权限。

您也可以将变量设置为RunAsHighest (如果您拥有管理员权限,则只触发UAC,但如果您没有管理员权限则不授予管理权限)或RunAsadmin(始终触发UAC)。

总结

以上是内存溢出为你收集整理的“__COMPAT_LAYER”实际上做了什么?全部内容,希望文章能够帮你解决“__COMPAT_LAYER”实际上做了什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1154812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存