Search code examples
windowswinapiwindows-process

What does « program is not responding » mean?


What does this message means, is there an API to « respond » to Microsoft Windows status queries ?

I'm looking for a technical answer. Thanks :)


Solution

  • What this means is that the program is failing to service its message queue. From the documentation:

    If a top-level window stops responding to messages for more than several seconds, the system considers the window to be not responding. In this case, the system hides the window and replaces it with a ghost window that has the same Z order, location, size, and visual attributes. This allows the user to move it, resize it, or even close the application. However, these are the only actions available because the application is actually not responding. When in the debugger mode, the system does not generate a ghost window.

    Typically this means that the main thread of the program is busy and is not calling GetMessage frequently enough. Long running tasks should be performed on a thread other than the main UI thread.