DLL SendMessage Fechar Form MDI

Delphi

25/01/2007

Boa tarde pessoal,
Estou tentando fechar um Form fsMDIChild mandando o comando de dentro de uma DLL.

Explicando:

Tenho em minha aplicação uma rotina para envio de email. Todo o codigo para envio do e-mail esta em uma DLL. Entao eu tenho na minha aplicação um Form com o seguinte Caption := ´EDITA E-MAIL´

No código da DLL apos fazer o envio do E-mail eu fiz assim:
procedure TMyThread.FecharJanela;
var
  Janela   : hWND;
begin
  Janela:= FindWindow(nil, PChar(´EDITA E-MAIL´));
  SendMessage(Janela, WM_CLOSE,0,0);
end;


Não esta funcionando, deve ser porque o Form é do tipo fsMDIChild pois eu fiz um teste e troquei o caption do form EDITA E-MAIL para o caption do formulario principal da aplicação ai funciona ... a aplicação é encerrada.

Alguem sabe como posso resolver este problema?

Obs.: A rotida para envio do email esta em uma TThread por isso quando no Form EDITA E-MAIL eu mando enviar a aplicação nao fica travada.


Mmoreira

Mmoreira

Curtidas 0

Respostas

Haikal

Haikal

25/01/2007

O FindWindow não pega esta janela do tipo fsMDIChild, será que se você usar EnumWindowsProc, até achar o caption desejado não funciona? capaz que no EnumWindowsProc este tipo de form seje listado.


GOSTEI 0
Mmoreira

Mmoreira

25/01/2007

haikal,

Obrigado pela atenção e desculpe pela demora para responder.
Não sei se entendi direito o que voce disse mas o Caption da janela eu ja tenho ... o que eu preciso é Fechar a mesma ... eu pensei em usar o SendMessage mas ao que parece por este caminho nao vou conseguir.
Preciso de outra alternativa para fechar este form.

Se eu estiver errado me corrija.

Valew, Abraços!


GOSTEI 0
POSTAR