在长时间运行/繁忙的程序期间禁用 Windows 7 程序灰显

在长时间运行/繁忙的程序期间禁用 Windows 7 程序灰显

示例图像

我有许多执行长时间运行任务的旧版自定义应用程序。在以前版本的 Windows 中,程序在运行给定任务时会变得无响应。有时 UI 会更新,有时则不会。

然而,在 Windows 7 下,当 UI 变得无响应时,整个窗口就会变灰,并且只要任务继续运行,UI 就不会更新。

虽然这可能是由于代码错误(没有为长时间运行的任务生成单独的进程)造成的,但修改它们并不是一个选择。

是否可以禁用 Windows 7 中无响应/繁忙程序的灰色/淡出功能?

答案1

您还记得 HungAppTimeout 设置吗,他们将其与关机混在一起。它据称在这种情况下会起作用。

这是与您的情况最接近、最准确的相似之处,并附有写得很好的修复。 http://fieldp.com/myblog/2011/large-mesh-plots-revisited-program-not-responding/

我会尝试它,因为即使它是错误的,它也不会造成任何东西。

答案2

是否可以禁用 Windows 7 中无响应/繁忙程序的灰色/淡出功能?

是的,但这必须由应用程序本身完成。它必须调用DisableProcessWindowsGhosting()函数。显然,如果你选择

修改它们不是一个选择

那么你的应用程序将不会调用此函数,你将得到“重影”。此“重影”将无响应的窗口替换为响应式顺便说一下,允许有限数量的 UI 交互(最小化、移动和关闭)的窗口。

相关内容