Il mio programma si avvia con windows, io devo passare dei parametri al programma tramite riga di comando, più precisamente devo rendere visibile l’icona sulla traybar.
Però se io scrivo nella console
Miaapp.exe AttivaIcona
Il programma si avvia 2 volte (praticamente si avviano 2 programmi come fossero differenti)
X farlo avviare una volta sola (solo la prima istanza), quindi, ho usato app.prevIstance
Essendoci l’END l’icona me la crea ma essa sparisce subito perché la seconda istanza dell’applicazione termina (e resta la prima che non aveva l’icona).codice:If App.PrevInstance Then 'se vi è già un'istanza mi passa solo i parametri poi termina MsgBox "APPLICAZIONE GIA AVVIATA" GetCommandLine End End If
Io praticamente devo tramite il comando terminare la seconda istanza (e fino a qui va bene l’end) ma devo attivare l’icona della prima istanza (e non l’icona della seconda…). Come faccio?
Per creare l’icona uso shell_NotifyIcon()
codice:Public Sub CREATEICON() TrayI.cbSize = Len(TrayI) TrayI.hwnd = pichook.hwnd 'Link the trayicon to this picturebox TrayI.uId = 1& TrayI.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE TrayI.ucallbackMessage = WM_LBUTTONDOWN 'icona da visualizzare TrayI.hIcon = imgIcon(2).Picture 'Create the icon Shell_NotifyIcon NIM_ADD, TrayI Me.Hide End Sub


Rispondi quotando