Como saber se a aplicação está minimizada?

Delphi

11/10/2004

quem puder me ajudar,eu preciso saber o estado da aplicação,é um programa de chat e ao receber uma mensagem ,se estiver minimizado,deverá ficar piscando na barra de tarefas até que se clique em cima.
já usei a rotina abaixo oa receber uma mensagem mas pisca duasa vezes e fica com o foco.
FlashWindow(Handle, true);
FlashWindow(Application.Handle, true);
Já li varios tópicos sobre o assunto mas não achei nenhum que resolvesse meu problema,conto com a galera.


Milk

Milk

Curtidas 0

Respostas

Nildo

Nildo

11/10/2004

Faça assim:

   if GetForegroundWindow <> FormPrincipal.Handle then
   begin
      {Rotina para piscar}
   end;


Será que é isso?


GOSTEI 0
Milk

Milk

11/10/2004

Obrigado Nildo, é isso sim,
Mas qual rotina eu devo colocar para que fique piscando enquanto não receber o foco ou for maximizada?


GOSTEI 0
Nildo

Nildo

11/10/2004

Você coloca aquela rotina dentro de um timer de 1 segundo. E dentro daquele IF você coloca para Ascender se estiver apagado e apagar se estiver asceso. Daí você acrescenta um ELSE naquele IF. Sempre que cair naquele ELSE quer dizer que a aplicação recebeu o Foco, então você apaga o pisca-pisca.


GOSTEI 0
Fórum Vini

Fórum Vini

11/10/2004

Obrigado Nildo, é isso sim, Mas qual rotina eu devo colocar para que fique piscando enquanto não receber o foco ou for maximizada?

Você pode usar a procedure FlashWindow:
FlashWindow(Application.Handle, True);

(Para que ela continue piscando você deve colocar esse código dentro de um Timer ou uma Thread, se preferir)


Espero ter ajudado,
Vinicius;


GOSTEI 0
Milk

Milk

11/10/2004

Agora funcionou,
coloquei dentro de um timer a rotina que o nildo sugeriu.
Valeu.


GOSTEI 0
Antonio Martins

Antonio Martins

11/10/2004

Tenho uma aplicação em rede e gostaria de saber se tem como identificar quando um usuário na rede está com a aplicação fechada ou minimizada
Vou explicar melhor: Tenho uma aplicação e nela tem um chat.
Acontece que eu gostaria de saber se a tela do chat no usuário está aberta ou minimizada. Sempre que mando uma mensagem emito um som para o usuário, porem gostaria de emitir esse aviso somente se tiver minimizado, pois não faz sentido ficar avisando ja que ele está com o form aberto e vendo as mensagens na tela. Todos os exemplos de chat que peguei na net não tem esse recurso ou algum parecido.
Ja faz tempo que estou tentando resolver esse problema.
Grato
Antonio
GOSTEI 0
POSTAR