有时,Windows 10 会为我们的桌面应用程序设置 Windows XP 兼容模式,而我们的应用程序不兼容并且无法启动。目前唯一的解决方案是重新下载该应用程序,然后它可以正常启动。
以编程方式假设兼容模式是否存在禁用 Windows 的标志/可能性?
有时,Windows 10 会为我们的桌面应用程序设置 Windows XP 兼容模式,而我们的应用程序不兼容并且无法启动。目前唯一的解决方案是重新下载该应用程序,然后它可以正常启动。
以编程方式假设兼容模式是否存在禁用 Windows 的标志/可能性?
@Ramhound 指出了正确的方向。我们在退出应用程序时发生了未检测到的崩溃(在这种情况下,我们没有清理到 的钩子
LoadLibrary
,它在退出 FLTK 应用程序时被调用)。如果 Windows 应用程序崩溃,它会在下次自动以 XP 兼容模式启动(可从
AcLayers.DLL
进程中识别),而我们的应用程序与该模式不兼容。由于现在已经清理了挂钩,因此应用程序在退出时不再崩溃,也不再触发兼容模式。