Sim, quero exibir o menu e quero q ele fique ativo!!! mas naum deu certo com isso aih naum, ateh pq o SetForegroundWindow eu jah tinha tentado...
Afffff... to a tres dias tentando isso aki... fiz dar certo uma vez, mas nem sei como... ----- Original Message ----- From: "Demian Lessa" <[EMAIL PROTECTED]> To: <delphi-br@yahoogrupos.com.br> Sent: Thursday, May 12, 2005 10:06 AM Subject: Re: [delphi-br] Mensagem > Ah! Pensei que você quisesse processar a mensagem! > > Bem, de fato o que você fala é um problema no Windows. Quando você menos > espera, aquela janela que você achava, por um motivo ou por outro, que > deveria ficar ativa depois do processamento de uma rotina sua, não fica! > > Tive esse problema quando codifiquei nos meus aplicativos a lógica para > que apenas uma instância ficasse no ar. Quando a segunda instância era > executada, ela encontrava a primeira instância no ar, a tornava a janela > ativa e saia. Muitas vezes o efeito era o que você descreve. Resolvi o > problema com dois comandos: > > SetForegroundWindow(hPai); > ShowWindow(hPai, SW_RESTORE); > > Com a diferença que meu "hPai" referia-se à janela do aplicativo mesmo > (TApplication) e não a alguma janela (TForm) do aplicativo. Havia também > tentado o método de TApplication antes, sem sucesso. Não sei se isso vai > ajudar... > > No seu caso, você está exibindo um menu e quer que o menu fique ativo? > Não sei se isso irá resolver seu problema, mas pode ser o início de sua > solução. Talvez você queira dar uma olhada na API do TrayIcon para ver > se tem algo específico... > > Cordialmente, > > Demian Lessa > Salvador - Brasil > > Filipe wrote: >> damian, poderia me dizer a fonte desta Informação? >> >> naum está dando certo aki... >> >> é q é o seguinte: tenho uma aplicação que fica no tary, tipo, num >> trayIcon, >> escondida, e q gera uma dll (que starta um Hook de teclado) para que qdo >> eu >> apertar "Espaço", por exemplo, mesmo q minha aplicação naum estiver >> ativa, >> ele de um popUp no popUpMenu que está neste tray Icon. >> >> Isso está dando certo, mas acontece que, as vezes consigo dar o popUp mas >> naum consigo mexer no menu, será q tah dando pra entender? Isso porque >> minha >> aplicação está "atrás" (as vezes atrás do próprio explorer)... >> >> faço assim pra dar um popUp: >> >> if (Msg.wParam = 32) then // se a dll mandar um espaço... >> begin >> Application.Restore; >> Application.BringToFront; >> Self.BringToFront; >> HPai := FindWindow('TfcServi', 'fcServi'); // variavel HPai: THandle >> SetForegroundWindow(HPai); >> SetActiveWindow(HPai); >> GetTopWindow(HPai); >> PostMessage(hPai, WM_ACTIVATE, 0, 0); >> // PostMessage(hPai, WM_SETFOCUS, 0, 0); >> // PostMessage(hPai, WM_SHOWWINDOW, 0, 0); >> fDataM.PmTray.Popup(Screen.Width, GetSystemMetrics(SM_CYFULLSCREEN) + >> 20); // o PopUp tem que ser o último comando, caso contrário ele segura o >> processamento até ser fechado. >> end >> >> tp, jah tentei isso, com varias combinações, e outros comandos tb... >> >> bom... esta minha aplicação fica escondida do "Alt + Tab", mas para >> motivos >> de testes, fiz ela ficar visível, e reparei que se eu der um "Alt+ Tab" >> nela, ela volta a ficar ativa. Bom, entaum precisaria de uma rotina que >> simule o "Alt + Tab"(tentei o "PostMessage(hPai, WM_ACTIVATE, 0, 0), mas >> naum deu certo.")... Será q deu pra entender??? >> >> >> Obrigado pela atenção. >> >> Filipe. > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Links do Yahoo! Grupos > > > > > > > > -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html