__COMPAT_LAYER,以及如何使用它
__COMPAT_LAYER 是一个系统环境变量,允许您设置兼容性层,这是您可以在右键单击可执行文件、选择属性并转到兼容性选项卡时调整的设置。
除了您知道的选项之外,还有多种选项可供选择:
- 256Color - 以 256 种颜色运行
- 640x480 - 以 640x480 屏幕分辨率运行
- 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=
。
由于您是通过批处理脚本设置变量,因此一旦您拖到其上的可执行文件完成并且脚本关闭,该变量就会自动取消设置。请务必注意,变量设置会持续存在于您选择的可执行文件生成的任何子进程中。
使用 __COMPAT_LAYER 的安全性 将 __COMPAT_LAYER
设置为 RunAsInvoker如果您没有管理员权限,实际上并不会授予您管理员权限;它只是阻止 UAC 弹出窗口出现,然后以用户调用它的方式运行程序。因此,使用它是安全的,因为您不会神奇地获得管理员权限。
您还可以将变量设置为RunAsHighest(仅在您拥有管理员权限时触发 UAC,但如果您没有管理员权限则不授予管理员权限)或 RunAsAdmin(始终触发 UAC)。