Domanda

Sto lavorando sulla domanda (C # 2.0). Ho implementato singola istanza in esso. Va tutto bene. Se faccio funzionare nuovamente l'applicazione, mostra messagebox che dice "istanza è già in esecuzione".

In realtà io non voglio mostrare il messaggio attraverso messagebox.

Voglio mostrare questo messaggio utilizzando Balloon punta già in esecuzione dell'istanza (ha avvisare icona nella barra delle applicazioni).

Come posso raggiungere questo obiettivo?

Grazie in anticipo.

È stato utile?

Soluzione

Hai bisogno di una forma di comunicazione interprocesso , per segnalare all'altra istanza che dovrebbe visualizzare la messagebox.

In questo caso, si potrebbe andare meglio di raccontare l'istanza esistente per visualizzare il messaggio, e invece dire per ripristinare la sua finestra principale (vale a dire "unminimise").

Altri suggerimenti

È possibile utilizzare un servizio WCF dentro di te app.

La seconda applicazione si connette ad esso tramite NetPipe, invode un metodo e si chiude.

La tua prima applicazione riceve la chiamata e pop-up di notifica del baloon

Il modo più semplice per implementare una singola istanza e di informare il primo caso di un secondo viene avviato è già implementare in .Net. Basta dare uno sguardo nelle seguenti link:

Hanselman: Single Instance WinForms

OpenWinForms (selezionare True applicazione singola istanza)

Il set gratuito CodeFluent Runtime che è di strumenti fornisce un class SingleInstance per implementare una singola applicazione esempio:

Hai appena per ignorare il WndProc metodo per schiocca-up tua segnalazione (punta Baloon).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top