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