Página 1 de 1

GetTopWindow()

Enviado: 23 Ago 2008 15:56
por hrodrigom
Buenas

Caros colegas,
Tenho um pequeno utilitario que desenvolvi sem ambiente grafico, nem consola, ou seja, a app fica residente na memoria. até ai blz..

Mas eu estou em outro aplicativo, que se comunica com este, e salta um dialogo para escolher a impressora, quando eu fecho este dialogo, gostaria que o foco voltasse para o aplicativo anterior.

Testei usar a funcao gettopwindow() do contrib what32, mas este não está funcionando, acho q esta funcão pega o top window da aplicação residente, no caso 0, e nao das outras aplicações.

Resuminto, preciso do handle da janela ativa, para poder dar um setfocus.

Outra solução que pensei, mas nao conseguir.. é injetar um K_ALT_TAB.

Mas usando a função keyboard(K_ALT_TAB) a app residente trava. Acredito que seja pq não tem GT nenhuma.
a Função Keyboard só injeta na aplicação atual, não em todas?

Alguma sugestão?

Grato

Re: GetTopWindow()

Enviado: 09 Set 2008 14:59
por hrodrigom
Boa tarde Colegas,
Respondo meu propio post para deixar registrado caso alguem precise..

a função que eu estava precisando na verdade é
getforegroundwindow() disponivel na what32

Esta função devolve o handle da janela ativa, não necesariamente o seu aplicativo.

Por exemplo, eu quero colocar um dialogo para selecionar impressoras sobre o putty. com esta function um segundo aplicativo chama o dialogo, e diz que é para ficar ancorado no putty, entao para o usuario final, é como se o putty tivesse chamado o dialogo das impressoras.

Muito bom.

Se alguem precisar, é só dar um alo.!

Saudaçoes