Isso é chamado de "janela fantasma" . O que acontece é que o processo trava ou fica em deadlock e, portanto, não pode responder à mensagem de pintura para atualizar sua janela. Para lidar com essa situação, o Windows assume e pinta a janela até que o programa torne-se responsivo novamente e se auto-desenhe (ou seja morto ou trava).
Nas versões mais antigas do Windows, uma janela congelada era pintada com a cor de fundo, mas no Windows XP, o Windows tira uma captura de tela da última vez que foi atualizada e usa isso para pintá-la. É claro que se partes da janela são cobertas (como se você a arrastasse para fora da tela), o Windows só pode pintá-la com a cor de fundo (por isso, depois de arrastá-la para fora da tela em todas as direções, ela fica completamente em branco). >
Além disso, quando você arrasta outras janelas sobre ele, elas deixam um rastreamento para trás porque a janela congelada não responde à mensagem de pintura quando parte dela é descoberta.
No Vista +, o Windows ainda pinta janelas fantasmas como no XP, mas usa um truque para fazer a janela parecer que ainda está viva em algum grau; você ainda pode movê-lo e minimizá-lo sem perder a última imagem atualizada ou obter o efeito de hall-of-espelhos. O que ele faz agora é ocultar a janela congelada e substituí-la por uma nova janela temporária feita no mesmo tamanho e forma que a congelada. A nova janela é pintada com uma captura de tela da janela congelada, mas com uma lavagem branca pálida. Agora, quando você arrasta outras janelas sobre ele, ele retém a imagem original (fantasma) porque ela não está realmente congelada; processa a mensagem de pintura, pintando a captura de tela armazenada.
Funcionários da Microsoft Raymond Chen e Matt Eason cobriu bem.
É claro que o Mac, o Linux, etc. todos lidam com o desenho e o gerenciamento de janelas de suas próprias maneiras, então eles respondem às janelas congeladas de maneiras diferentes.