VB.NET - CREARE UN SERVIZIO DI WINDOWS USANDO .NET CHE AVVIA UN PROGRAMMA (Esempio Calc.exe)
Oggi vi voglio spiegare come creare un servizio che avvia in automatico un programma ad esempio : Calc.exe (la calcolatrice). Questo servizio è buono se vogliamo far apparire una finestra subito dopo il Login di un Utente.
Per prima cosa apriamo Visual Studio 2010 :
Aprire un Nuovo Progetto e lo chiamiamo ServiceDemoCalc :
Ecco ci appare dopo il caricamento del nuovo progetto :
Ora passiamo a rinominare il servizio da "Service1" a "ServiceDemoCalc"
Selezionare il file ServiceDemoCalc.vb e con il tasto destro del Mouse selezionare la voce "Visualizza Codice"
Appare il seguente codice :
Ora dovete inserire il sostituire il codice che trovate con questo, fate copia e incolla :
CODICE VISUAL STUDIO 2010 - VISUAL BASIC .NET - VB.NET:
Imports System.Threading
Public Class ServiceDemoCalc
Dim MyThread As Threading.Thread
Protected Overrides Sub OnStart(ByVal args() As String)
' Inserire qui il codice necessario per avviare il proprio servizio. Il metodo deve effettuare
' le impostazioni necessarie per il funzionamento del servizio.
MyThread = New Threading.Thread(AddressOf AvvioCalcolatrice)
MyThread.Start()
End Sub
Protected Overrides Sub OnStop()
' Inserire qui il codice delle procedure di chiusura necessarie per arrestare il proprio servizio.
MyThread.Abort()
End Sub
<Security.Permissions.SecurityPermission(Security.Permissions.SecurityAction.Demand)>
Private Sub AvvioCalcolatrice()
Dim myP As System.Diagnostics.Process = New System.Diagnostics.Process() 'Dichiari l'oggetto
myP.StartInfo.Verb = "RUNAS"
myP.StartInfo.UseShellExecute = False
myP.StartInfo.CreateNoWindow = True
myP.StartInfo.RedirectStandardOutput = True
myP.StartInfo.FileName = "C:\WINDOWS\system32\calc.exe" 'imposti il percorso del file da eseguire
myP.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal 'imposti il tipo di visualizzazione
myP.Start() 'avvii il processo
End Sub
End Class
Ora passiamo ad aggiungere programma di installazione del servizio, dobbiamo far click col destro del Mouse e selezionare la voce "Aggiungi programma di installazione" come nella foto .
Ci appare la seguente schermata e crea un nuovo file ProjectInstaller.vb , ora dobbiamo configurare i due oggetti, il primo ServiceInstaller1 impostare i seguenti parametri :
Il secondo oggetto ServiceProcessInstaller1 impostare i seguenti parametri.
Ora passiamo si passa all'inserimento del codice all'interno del file ProjectInstaller.vb per far in modo che il servizio può interagire con il desktop liberamente.
La prima volta che si visualizza il codice appare questo :
Sostituire il codice che si trova con questo qui di seguito, fate copia e incolla :
CODICE VISUAL STUDIO 2010 - VISUAL BASIC .NET - VB.NET:
Imports System.ComponentModel
Imports System.Configuration.Install
Public Class ProjectInstaller
Public Sub New()
MyBase.New()
'Chiamata richiesta da Progettazione componenti.
InitializeComponent()
'Aggiungere il codice di inizializzazione dopo la chiamata a InitializeComponent
End Sub
Public Overrides Sub Commit(ByVal savedState As System.Collections.IDictionary)
Dim ckey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine
ckey.OpenSubKey("SYSTEM\CurrentControlSet\Services\ServiceDemoCalc", True)
If ckey Is Nothing Then
MsgBox("La chiave non esiste errore di sistema", MsgBoxStyle.Information)
Else
If DirectCast(ckey.GetValueNames, IList).IndexOf("Type") = -1 Then
ckey.OpenSubKey("SYSTEM\CurrentControlSet\Services\ServiceDemoCalc", True).SetValue("Type", CType(272, Integer))
Else
ckey.OpenSubKey("SYSTEM\CurrentControlSet\Services\SeerviceDemoCalc", True).SetValue("Type", CType(272, Integer))
MsgBox("Registrato Servizio Correttamente", MsgBoxStyle.Information)
End If
End If
End Sub
End Class
Ora passiamo alla creazione del progetto Setup del servizio, Aggiungi un Nuovo Progetto .
Selezionare Installazione Guidata , vedi figura :
Ora seguire i 5 step della configurazione Guidata dell'installazione Step 1:
Step 2
Step 3
Step 4
Step 5
Ora dobbiamo aggiungere dei parametri personalizzati al progetto di installazione del servizio, click destro del mouse sul nome del Setup , poi Visualizza, poi Azioni personalizzate :
Ora passiamo alla configurazione, aspettiamo che apre la finestra Azioni personalizzate, posizionarsi su Installa e cliccare col destro del mouse e selezionare Aggiungi azione personalizzata.. :
Aprire la Cartella Applicazione
E selezionare il file Output primo da ServiceDemoCalc e poi Ok
Ripeterlo per tutte le voci e si ottiene la seguente condizione vedi figura , ora passiamo a Compilare i due progetti sia ServiceDemoCalc e poi Setup .
Per vedere che tutto funziona installiamo il servizio in questa maniera ma sempre dopo che abbiamo Compilato entrambi i progetti :
Fine dell'articolo, ora avete un servizio che ogni volta che voi accendete il pc e dopo aver fatto il Login vi appare sul desktop la finestra della calcolatrice .
Per i pigri o sfaticati potete scaricare il file d'esempio :
Password : "ImaginSystem"
By ImaginSystems & Queen Gin