除了兼容性选项卡中提供的少数可设置的应用程序兼容性设置外,还有一大堆设置,Windows 有一个引擎可以检测并自动应用其中的很多设置,而用户永远不会看到幕后工作。我知道您可以使用应用程序兼容性工具包手动设置它们,但是在我修改这些设置之前,有没有办法读取/查看 Windows 当前对特定程序使用的兼容性设置?这是一项探索性工作,旨在改进旧的 32 位程序的性能/显示效果,而不是(就目前而言)我能确定的或完全损坏的特定程序。我知道有几个层次的应用程序兼容性在起作用。我希望能够查看特定程序的所有/全部兼容性设置。我不需要代码等,如果我需要编码,我可以自己做。只需要知道在哪里查找以获取程序中有效的所有应用程序兼容性设置。
运行 Win10 pro 64 位。
答案1
我强烈建议安装 Windows 评估和部署工具包。这是应用程序兼容性工具包的新版本(您不必使用 SQL!)。这样,您将能够看到哪些设置应用于哪些应用程序。
它允许您查看兼容性数据库并搜索您的 exe(如果它包含在已知兼容程序列表中)。与 Windows 10 内置选项相比,它还允许您应用更大范围的兼容性选项。
您还可以在注册表中查看已应用的设置:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
您还可以看到工具包中应用于应用程序的设置,但这有时可能比注册表更简洁。
要查看正在运行的应用程序应用了哪些标志,您可以使用诸如 process hacker 之类的工具来查看显示__COMPAT_LAYER
当前应用的设置的环境变量。