2009-03-17 22 views
7

Ho un servizio di Windows che viene eseguito in background all'avvio del PC. Voglio visualizzare un'icona sulla barra delle applicazioni per consentire la configurazione dopo che un utente ha effettuato l'accesso ma non riesce a trovare come farlo.Come posso visualizzare il servizio Windows nella barra delle applicazioni?

C'è un evento che dovrei cercare, che mi dice che un utente ha effettuato l'accesso?

Come ho capito, i servizi di Windows non possono avere un'interfaccia utente, quindi devo avviare un'app per visualizzare l'icona della barra di sistema? Come posso passare gli aggiornamenti di configurazione al mio servizio.

risposta

11

Avrai bisogno di un'applicazione "agente" separata per questo. Un servizio Windows è globale, in esecuzione a livello di sistema. Possono esserci più desktop in esecuzione sul sistema contemporaneamente, quindi mentre ci sono modi per consentire ai servizi di interagire con il livello desktop, è tutt'altro che banale interagire con il "desktop degli utenti" nello stesso modo in cui si fa con un'applicazione già associato a un ambiente di accesso/desktop specifico.

Ci sono anche dei rischi per la sicurezza legati all'avere un tunnel di servizio nell'ambiente desktop (apre un percorso verso un account di sistema a meno che il servizio non sia eseguito su uno più ristretto), motivo per cui l'interazione con il desktop è disabilitata da predefinito.

+3

Questa è la risposta corretta. Una pipe denominata fornisce un buon modo per il servizio di comunicare con l'agente della barra delle applicazioni. MA: per favore considera se il tuo servizio è davvero super-impressionante [http://blogs.msdn.com/b/oldnewthing/archive/2010/12/15/10105142.aspx] per meritare la sua icona nella barra delle applicazioni. –

2

vorrei creare una seconda applicazione che gira e si mostra nella barra di sistema quando l'utente accede a.

È possibile aprire la comunicazione remota al servizio di Windows, e superare gli aggiornamenti di configurazione attraverso metodi esposti dal l'applicazione in la barra delle applicazioni.

5

Avrete bisogno di un'applicazione separata per mostrare l'icona del vassoio. È possibile comunicare con il servizio tramite WCF che consente al servizio di ospitare un servizio WCF o tramite ServiceController.

2

In realtà, non penso che sia possibile visualizzare un servizio nella barra delle applicazioni. Le applicazioni che lo fanno utilizzano sempre un agente o un altro strumento di gestione.

La maggior parte delle volte l'applicazione in esecuzione nel vassoio è un'app molto piccola che consente di accedere alle impostazioni per il servizio.

Le opzioni di configurazione possono essere memorizzate nel registro, nel file ini o in qualsiasi altra opzione di archiviazione. Dopo la modifica della configurazione, tutto ciò che devi fare è assicurarti di riavviare il tuo servizio, in modo che possa ricaricare le sue nuove impostazioni.

Problemi correlati