Para programas com pelo menos uma janela, Finalizar tarefa faz o mesmo que clicar no botão X "Fechar" - envia a mensagem WM_CLOSE
para aquela janela, pedindo muito para fechar. (Nas janelas do console, o equivalente é CTRL_CLOSE_EVENT
.) O programa pode solicitar ao usuário para salvar as alterações ou fazer várias tarefas de limpeza. Se o processo estiver em conformidade, o Gerenciador de Tarefas aguardará alguns segundos e continuará encerrando o processo se ainda estiver em execução.
Se o processo estiver congelado ou não estiver lidando com mensagens de janela recebidas, é claro que nem Finalizar tarefa nem o botão Fechar podem funcionar. Nesses casos, o Windows normalmente pedirá que você encerre o programa com vigor, mas somente após dar ao programa tempo suficiente para responder.
Enquanto isso, o botão Encerrar processo não se preocupa com tarefas ou janelas - ele chama a função TerminateProcess()
e o Windows destrói o processo imediatamente, sem notificá-lo ou dando-lhe qualquer chance de limpar .
(Recursos como memória são liberados automaticamente depois que o processo é eliminado; no entanto, podem existir vários arquivos temporários se o programa os criar e, claro, há o risco de corrupção de dados se o processo for encerrado no meio de salvar dados.)
Veja também:
- Revista Visual Studio. Mate um aplicativo com cuidado