Como fechar um formulário pelo título?
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| 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; |
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”.
1
2
3
4
| procedure TForm1.Button1Click(Sender: TObject);
begin
CloseForm('Meu computador');
end; |
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.
-
InfusTec
-
3.511 views
- 0 comentários
- 22 de abril de 2015
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo