最近,我试图给我的应用程序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”实际上做了什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)