Sample image

I have a number of older, custom applications that perform long-running tasks. In previous versions of Windows the programs would become unresponsive while running a given task. Sometimes the UI would update, sometimes it would not.

Under Windows 7, however, when the UI becomes unresponsive, the entire window is greyed out and the UI is never updated so long as the task continues to run.

While this may be a result of a bad code (not spawning separate processes for long-running tasks), modifying them is not an option.

Is it possible to disable the greying/fading-out of unresponsive/busy programs in Windows 7?

  • Processes running in a debugger aren't ghosted. Is writing a mini-debugger acceptable? Something like... CreateProcess(); DebugActiveProcess(); for(;;)WaitForDebugEvent();. – Damon Nov 14 '13 at 15:21
up vote 1 down vote accepted

You remember the HungAppTimeout setting, they messed with for shutdown. it supposedly would work in this situation.

this is the closests and most accurate similarity to your situation, with a well written fix. http://fieldp.com/myblog/2011/large-mesh-plots-revisited-program-not-responding/

I would try it because it cannot hurt anything if it is wrong.

Is it possible to disable the greying/fading-out of unresponsive/busy programs in Windows 7?

Yes, but it has to be done by the application itself. It has to call the DisableProcessWindowsGhosting() function. Obviously, if you make the choice that

modifying them is not an option

then your applications won't call this function and you'll get the "ghosting". This "ghosting" replaces an unresponsive window with a responsive window that allows a limited number of UI interactions (minimization, moving, and closure), by the way.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.