PROBLEMAS COM NOTIFYICONE
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
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
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,..
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,..
é 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()
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()
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 ???
Vamos lá, o icone no tray está duplicando quando o pendrive é conectado alguém poderia dar uma força ???
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]
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]
Hummm muito bom funcionou certinho !
Obrigado mesmo !!!!
Obrigado mesmo !!!!
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 ?
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 ?
Vou analisar isso e ver o que posso fazer para ajudar. Postarei novidades assim que possÃvel.
o trabalho não perdoa
o trabalho não perdoa
Oh pessoal mais alguém também pode dar uma ajuda por favor é meio urgente.
Obrigado.
Obrigado.
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á.
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á.
Já consegui colocar ela a mostrar apenas 1 dos icones, mas para meu azar agora não mostra as mensagens de [Ô]Conectado[Ô] e [Ô]Desconectado[Ô]...
Tópico encerrado , respostas não são mais permitidas