GARANTIR DESCONTO

Fórum Aplicaçao funcionando em Blackground e com ícone no systray #261328

10/12/2004

0

Necessito dos colegas informaçoes de como desenvolver uma aplicacao para funcionar em blackground assim que ligar o micro, com um atalho no , e que ficasse somente com o seu ícone no systray, e a aplicação invisivel. No Systray somente clicando com o mouse direito para ter acesso ao menu p/abrir a aplicaçao.
Sei que é possível tentei algumas fórmulas, porém o que consegui até aqui foi deixá-la minimizada na barra de tarefas... mas assim não quero.
Aguardo noticias. Obrigado a todos.


Helio Nascimento

Helio Nascimento

Responder

Posts

10/12/2004

Chocoabj2003

8) Use o componente RxTrayIcon, dos componentes da RXLIB. Basta colocar o componente no form e escolher um ícone que vai aparecer ao lado do relógio. Para iniciar ao ligar a máquina, vc coloca no iniciar do Windows. Vc pode colocar somente o form de login para iniciar e depois criar os outros dinamicamente, após logar no sistema.

Ademilson Beirão


Responder

Gostei + 0

10/12/2004

Paulo_amorim

Olá

Pesquise no fórum por sys tray, winsystray, e coisas do gênero.
Não eh necessário usar o RxLib se vc não quiser, já que existem códigos que criam para você. Eu tenho um que peguei aqui no fórum

Sobre a aplicação não aparecer, coloque antes da criação dos Forms na Unit de Projeto:
Application.ShowMainForm := False;


Até+


Responder

Gostei + 0

10/12/2004

Paulo_amorim

Olá
[quote:8756e46e38=´Helio Nascimento´]Obrigado por vc me responder.

Entendi suas explicações.

Se eu colocar nos forms que nao sao para aparecer, a aplicação fica ´escondida´, mas funcionando certo? como o ícono ao lado do relógio certo? E como faria para que o form da aplicação aparecesse quando clicasse com o botão direito do mouse em cima deste ícone e com um menu tipo ´Abrir ´ ´Cancelar´ ´Fechar´, caso este formulario que ja esta com instruçoes para nao aparecer, e como faria para que ele aparecer e depois retornar a mesma condição de antes....[/quote:8756e46e38]

Não é necessário colocar nos Forms, coloque na aplicação que ela já rodará sem aparecer na barra de tarefas.
Para que ele apareça no Systray, deve-se usar um componente ou algo do gênero.
Para aparecer um menu quando você clicar com o botão direito, utilize o componente PopUpMenu.

Até+


Responder

Gostei + 0

10/12/2004

Paulo_amorim

Olá

Segue um código para colocar o componente no Systray:

const
  WM_ICONTRAY = WM_USER + 1;

type Form1 = class(TForm)
    procedure TrayMessage(var Msg: TMessage); message WM_ICONTRAY;
  private
    TrayIconData: TNotifyIconData;
end;
(...)
{ no evento OnCreate do Form principal }
     //Define as propriedades do ícone
     with TrayIconData do
     begin
          cbSize := SizeOf(TrayIconData);
          Wnd := Handle;
          uID := 0;
          uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
          uCallbackMessage := WM_ICONTRAY;
          hIcon := Application.Icon.Handle;
          StrPCopy(szTip, Application.Title);
     end;

     //Cria o ícone no win system tray
     Shell_NotifyIcon(NIM_ADD, @TrayIconData);
//-----------------------------------------------------------
{ no evento OnDestroy do Form principal }
     Shell_NotifyIcon(NIM_DELETE, @TrayIconData);
//-----------------------------------------------------------
procedure TForm1.TrayMessage(var Msg: TMessage);
begin
     case Msg.lParam of

          //Clique duplo do mouse faz algo
          WM_LBUTTONDBLCLK:
          begin
               //codigo
          end;
          //Clicar com o botão direito faz algo
          WM_RBUTTONDOWN:
          begin
               //codigo
          end;
     end;
end;

Com isso ele irá criar o ícone no systray. Coloque um PopUpMenu e mande-o executar no WM_RBUTTONDOWN...

Espero que ajude
Até+


Responder

Gostei + 0

04/01/2005

Shaolin

Para esta rotina funcionar no Delphi 5.0, tem que ser adicionado alguma cláusula no Uses ????


Responder

Gostei + 0

06/03/2005

Pistesil

como faco para aprecer um menu quando pressiono o botao direito?


Responder

Gostei + 0

06/03/2005

Paulo_amorim

Olá

Para esta rotina funcionar no Delphi 5.0, tem que ser adicionado alguma cláusula no Uses ????


Eu usei no D5, e não lembro de ter que colocar qq coisa... deu algum erro?
Se sim, tente colocar ShellAPI

como faco para aprecer um menu quando pressiono o botao direito?

Coloque um componente TPopUpMenu no form, e programe para ele aparecer no WM_RBUTTONDOWN (naquele case da rotina)

Espero que ajude
Ate+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar