PROBLEMAS COM NOTIFYICONE

ALEVALE 08/05/2012 13:02:21
#401544
Pessoal boa tarde,

Estou quebrando a cabeça aqui e até agora não entendi o porque.
Tenho uma aplicação (Já está até na seção de downloados do fórum), é uma app simples que busca arquivos etc....
A minha dor de cabeça.....

Essa aplicação monitora também quando um pendrive é conectado até aqui blz sem erro..
Mas o problema é o seguinte quando a aplicação termina de executar ela fica [Ô]pressa[Ô] na memoria essa é a ideia mesmo, assim quando conectado um pendrive de novo ela busca as informações de novo...
Mas o problema é quando ela termina fica [Ô]esperando[Ô] uma ação um [Ô]pendrive[Ô] ser conectado, ela não mostra mais as mensagens no notifyicon muito estranho dai eu fiz algumas [Ô]gambi[Ô]...rsrsrs para isso..

Mas o problema é quando a aplicação terminar de rodar e eu coloco o pendrive eu queria que ela utiliza o mesmo notifyicon e na realidade eu criei outro para suprir a necessidade, mas o engraçado é que se eu utilizar o mesmo ela passa de novo pela rotina que envia a mensagem no TRAY só que não aparece, alguém pode dar uma luz ?

Não sei se vai servir mas no VB6 eu usava assim :
With SysTray

.Icon = App.Path & [Ô]\[Ô] & [Ô]AUDINV.ICO[Ô]
.BalloonTitle = UCase(App.Title)
.BalloonText = [Ô]Procurando arquivos ..[Ô]
.ToolTipText = strVersaoApp
.BalloonIcon = trayInformation
.Refresh
.Show (frmPrincipal.hWnd)

Na linha do Show eu passava o parametro do form e tbm dava um refresh.

No NET eu faço assim:

frmPrincipal.NotifyIcon1.Icon = frmPrincipal.Icon
frmPrincipal.NotifyIcon1.Text = [Ô]AUDINV [Ô] & Application.ProductVersion
frmPrincipal.NotifyIcon1.BalloonTipIcon = ToolTipIcon.Info
frmPrincipal.NotifyIcon1.BalloonTipText = strBalaoTexto
frmPrincipal.NotifyIcon1.BalloonTipTitle = UCase(Application.CompanyName)
frmPrincipal.NotifyIcon1.ShowBalloonTip(0)

Mesmo utilizando o metodo DISPOSE não funciona
ALEVALE 08/05/2012 13:35:09
#401550
O problema aparentemente é que ele parece que pede o focu do form....alguém pode dar uma luz ???

Se for para simular o erro coloque um [Ô]break[Ô] na função FNCTOOLTIP....execute ele 1 vez....depois de alguns segundos insera o pendrive, quando ele retornar para a função FNCTOOLTIP debug, mas é necessário alterar os parametros para apontar para o form frmPrincipal ao inves do frmUsb

Galera dá uma mão ae... !

Vlw,..
ALEVALE 08/05/2012 13:54:18
#401552
é pessoal é isso mesmo ele perde o foco não sei o porque e o pior ainda não sei como resolver.

Para simular o erro faço a 2º post meu, execute a aplicação debug até a função FncToolTip irá surgir a primeira mensagem, continue....
Depois insira o pendrive ele irá retornar para a função FncToolTip dai o problema....
Ele não mostra a mensagem no icone de novo não mata o icone, não faz nada..

Já tentei..
frmPrincipal.NotifyIcon1.Visible = False
frmPrincipal.NotifyIcon1.Icon = Nothing
frmPrincipal.NotifyIcon1.Dispose()
ALEVALE 08/05/2012 15:24:54
#401557
Pessoal reduzi o código para ficar mais simples...
Vamos lá, o icone no tray está duplicando quando o pendrive é conectado alguém poderia dar uma força ???
CRACKER 08/05/2012 17:05:12
#401573
Deixa ver o que tem de errado com o código...

Já tentei e de facto aparecem 2 icons na aplicação.

Tenta usar apenas 1 deles a informar apenas quando é inserido um USB.

Numa aplicação minha eu apenas usava o tray icon quando a aplicação era encerrada:

[txt-size=2]
Friend Sub Tray()
NotifyIcon1.ContextMenuStrip = ContextMenuStrip1
Me.Hide()
NotifyIcon1.Icon = Me.Icon
NotifyIcon1.Text = [Ô]texto a mostrar[Ô]
NotifyIcon1.Visible = True
End Sub

--No FORM CLosing ele passa logo para o Systray a aplicação
Private Sub Form_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
e.Cancel = True
Tray()
NotifyIcon1.ShowBalloonTip(50, [Ô]Nome da Aplicação[Ô], [Ô]Mensagem.[Ô], ToolTipIcon.Info)

End Sub
[/txt-size]
ALEVALE 09/05/2012 08:25:06
#401607
Hummm muito bom funcionou certinho !

Obrigado mesmo !!!!
ALEVALE 09/05/2012 10:57:01
#401621
Então funcionou certinho porém eu tive que fazer uma alteração na classe que detecta a USB, pq como estava ele só detectada quando o frmPrincipal estava ativo e como chamo tudo de um modulo (mdlGeral) acabou não funcionando.
Essa classe que está ai hoje (clsUsbDetect) funciona bem em qq momento de execução ela identifica quando o dispositivo é conectado ou não porém a mensagem no tray dai não funciona.
Voltei a estaca zero, poderia analisar de novo por favor ?

CRACKER 09/05/2012 13:53:40
#401652
Vou analisar isso e ver o que posso fazer para ajudar. Postarei novidades assim que possível.

o trabalho não perdoa
ALEVALE 10/05/2012 08:12:16
#401717
Oh pessoal mais alguém também pode dar uma ajuda por favor é meio urgente.
Obrigado.
CRACKER 10/05/2012 15:36:38
#401745
Pelo que já testei, continuam a aparecer 2 icons no Systray, e por vezes 3.

Passo a explicar:

1- O 1º icone aparece no arranque da aplicação(ÔK).
2- O 2º icone aparece quando um USB é Desconectado(não é necessário)
3- Aparece um 3º ao Ligar de novo o Dispositivo USB(desnecessário)

Ou seja: vasta usar apenas um icone e apenas alterar a mensagem no Ballon Tip.

Vou alterar algo no código.....


Até já.
CRACKER 10/05/2012 16:53:11
#401753
Resposta escolhida
Já consegui colocar ela a mostrar apenas 1 dos icones, mas para meu azar agora não mostra as mensagens de [Ô]Conectado[Ô] e [Ô]Desconectado[Ô]...
Página 1 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas