Thread loop de mensagem para um thread com uma janela ocult

Eu tenho um aplicativo Delphi 6 que possui um thread dedicado à comunicação com um aplicativo externo que usa as mensagens SendMessage () e WM_COPYDATA para interagir com programas externos. Portanto, eu crio uma janela oculta com AllocateHWND () para atender às necessidades de uma fila de mensagens de thread que não funcionará devido à função SendMessage () aceitar apenas identificadores de janela, não IDs de threads. O que não tenho certeza é sobre o que colocar no método Execute () do thread.

Suponho que se eu usar um loop GetMessage () ou criar um loop com uma chamada de função WaitFor * () nele, o thread bloqueará e, portanto, o WndProc () do thread nunca processará as mensagens SendMessage () de outros países. programa certo? Em caso afirmativo, qual é o código correto para inserir um loop Execute () que não consumirá ciclos da CPU desnecessariamente, mas será encerrado quando uma mensagem WM_QUIT for recebida? Sempre posso fazer um loop com um Sleep (), se necessário, mas estou me perguntando se existe uma maneira melho

questionAnswers(2)

yourAnswerToTheQuestion