Como fechar um formulário pelo título?

DAVID CANDIDO DA SILVA

DAVID CANDIDO DA SILVA Publicado 17/11/2017 


Está dica permite que você possa fechar qualquer janela aberta, inclusive
de outras aplicações ou mesmo do Windows.

É necessário somente informar o título (caption) da janela.

Declare Windows e Messages na seção uses,
em versões unicode declare Winapi.Windows e Winapi.Messages.

Segue o código fonte do procedimento:

procedure CloseForm(Caption: String);
var
  h: THandle;
begin
  while (True) do
  begin
    h := FindWindow(nil, PChar(Caption));
      if (h <> 0) then
    begin
      PostMessage(h, WM_CLOSE, 0, 0);
      Break;
    end;
      if (h = 0) then
      Break;
  end;
end;

Exemplo, fechando a janela “Meu computador”.

procedure TForm1.Button1Click(Sender: TObject);
begin
  CloseForm('Meu computador');
end;

Dica de uso fácil e realmente se aplica a qualquer janela.
Testada no Windows 8.1


 

Voltar ao topo