PDA

View Full Version : [Visual Basic] Creare applicazione nella systray


friwer
04-07-2008, 15:41
Salve a tutti.
Dovrei fare una semplice (eh si...infatti...) applicazione in visual basic 2008 ma non riesco a venirne fuori.
Tramite questa applicazione nella systray, devo riuscire a lanciare una serie di applicazioni (es. clic con il sinistro ed esce un menu contestuale con APP1, APP2 ecc), prendere il tempo di esecuzione di ogni singola applicazione e scrivere i risultati sul foglio excel.
Ora, per gli ultimi 2 punti ho tempo e idee (funzioni timer e classi apposite per la manipolazione dei file excel): il problema è che quando lancio il debug del codice scritto finora non esce assolutamente nulla!!
Non ho errori di compilazione eppure...
ecco il codice, un grazie a chi mi da una dritta...

Module1.vb
Option Explicit On
Option Compare Text

Module Module1
Friend WithEvents nfiIcona As NotifyIcon
Friend WithEvents MenuContestuale As ContextMenu
Friend WithEvents mnuContBloccoNote As MenuItem
Friend WithEvents mnuContCalcolatrice As MenuItem
Friend WithEvents mnuContSep0 As MenuItem
Friend WithEvents mnuContEsci As MenuItem

Private Sub Init()
nfiIcona = New NotifyIcon()
'nfiIcona.Icon = New Icon("C:\Programmi\Microsoft Visual Studio .NET\Common7\Graphics\icons\Computer\key04.ico")
nfiIcona.Text = "Avvio applicazioni"

MenuContestuale = New ContextMenu()
mnuContBloccoNote = New MenuItem()
mnuContCalcolatrice = New MenuItem()
mnuContSep0 = New MenuItem()
mnuContEsci = New MenuItem()
mnuContBloccoNote.Text = "Avvia &Blocco note"
mnuContCalcolatrice.Text = "Avvia &Calcolatrice"
mnuContSep0.Text = "-"
mnuContEsci.Text = "&Esci"
MenuContestuale.MenuItems.AddRange(New MenuItem() {mnuContBloccoNote, mnuContCalcolatrice, mnuContSep0, mnuContEsci})

nfiIcona.ContextMenu = MenuContestuale
End Sub

Sub Main()
Init()
nfiIcona.Visible = True
Application.Run()
End Sub

Public Sub mnuMenuContestuale(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuContBloccoNote.Click, mnuContCalcolatrice.Click, mnuContEsci.Click
Select Case CType(sender, MenuItem).Text
Case "Avvia &Blocco note"
Shell("Notepad.exe", AppWinStyle.NormalFocus)
Case "Avvia &Calcolatrice"
Shell("Calc.exe", AppWinStyle.NormalFocus)
Case "&Esci"
nfiIcona.Visible = False
Application.Exit()
End Select
End Sub
End Module

friwer
05-07-2008, 08:28
azz...è tosta anche per i forumisti allora... :D :D

friwer
06-07-2008, 22:08
ho provato a ridurre all'osso il codice di sopra...in pratica ho messo solo il costruttore della notifyicon e la main che l'attiva. Dovrebbe uscire solo un'icona con la scritta "avvia applicazioni" ma nisba....non so che dire.
Se provassi con qualche altro linguaggio, esempio c#??

wizard1993
07-07-2008, 09:17
Se provassi con qualche altro linguaggio, esempio c#??

premetto che non ci capisco un h di vb.net ma di fatto visto che le librerie che si usano in vb.net sono le stesse che in c#, la cosa cambierebbe poco

friwer
07-07-2008, 11:19
grazie per la risposta, mi sento meno solo adesso! :D
concordo sulla condivisione delle librerie....ma quindi cosa c'è che non va in quel codice? non un errore, non un warning...