Trazer Aplicação para o Foco do windows

Delphi

14/12/2006

Seguinte.

Tenho um sisteminha que fica rodando no TryIcon.
Esse Sistema é responsavel pela leitura da impressão digital do Cliente.

ai oque acontece é o seguinte.

Tenho um Segundo Aplicativos chamado FrenteLOC que é usado para o atendimento ao cliente.

oque eu quero é o Seguinte.

No sistema do TryIcon apos fazer o reconhecimento da digital ele verifique

caso o FrenteLOC esteja em foco envia o codigo do cliente pro teclado

Caso nao esteja em foco, coloque ele em foco e envia o codigo pro teclado.

caso esteja fechado execute o frenteLOC coloque em foco e envie o codigo pro teclado ..


Fui claro ..??

Um Abraço..


Mysys

Mysys

Curtidas 0

Respostas

Leonardobhbr

Leonardobhbr

14/12/2006

Para trazer para frente uma janela

[color=green:7b590c23e2]
SetForegroundWindow(FindWindow(nil,PChar(´titulo da janela´)));
[/color:7b590c23e2]


GOSTEI 0
Mysys

Mysys

14/12/2006

Blz trazer pra frente funcionou

Tipo

If not ( FrenteLOC.exe em execucao ) Then <--- aqui
Executa(FrenteLOC)
Else
SetForegroundWindow(FindWindow(nil,PChar(´FrenteLOC´)));


saber c ele esta em execucao ou nao c nao estiver executa c estiver traz pra frente.


GOSTEI 0
Brasidata

Brasidata

14/12/2006

Experimente o código abaixo e me conte o resultado, mas não esqueça de declarar a ShellAPI :

if FindWindow(´TFrenteLOC´,nil) = 0 then ShellExecute(Handle,´open´, PChar(´C:\DIRETORIO\FrenteLOC.exe´), nil, nil, SW_SHOWNORMAL) else SetForegroundWindow(FindWindow(´TFrenteLOC´,nil));


Testei aqui e funcionou 100¬.
Troque o TFrenteLOC pela classe do seu form principal e ´C:\DIRETORIO\FrenteLOC.exe´ pelo caminho completo e correto do aplicativo que deve ser iniciado.

Boa sorte


GOSTEI 0
Mysys

Mysys

14/12/2006

Gurizao ...

Seguinte ... Assim funciona so que tem um probleminha...

O Form principal do FrenteLOC é FRMMenu
O Form Principal do AdminLOC é FRMMenu
ate o form principal do sisteminha que le a digital tambem é FRMMenu.

caso um dos outros esteja aberto nao da muito certo nao ...

teria outra forma de saber c a plicacao esta em execucao

no Gerenciador de tarefas do windows por exemplo lá aparece certinho
FrenteLOC.exe AdminLOC.exe nao teria como pegar de lá ..???


Abraco..


GOSTEI 0
POSTAR