Come eseguire il programma un processo e solo un nome?
-
10-07-2019 - |
Domanda
creo qualche progetto ma all'avvio dell'app. Come eseguire questa App un solo processo e denominare molto "quot.exe ".exe solo nome? quando pranzo APP? C # 2.0
Soluzione
Ancora una volta, non sono del tutto sicuro di cosa stai cercando, ma la mia interpretazione:
Se vuoi assicurarti che solo una singola istanza del tuo processo sia mai in esecuzione contemporaneamente, inserisci il seguente codice all'inizio del tuo metodo principale (in Program.cs).
if (Process.GetProcessesByName (Process.GetCurrentProcess().ProcessName).Length > 1)
{
//instance of the process already active, exit
return;
}
Dovrai includere usando System.Diagnostics
nella parte superiore del tuo file.
Nota che questa non è una soluzione perfetta, in quanto se un utente avvia due istanze del processo esattamente nello stesso momento, probabilmente chiuderanno entrambi.
Altri suggerimenti
Ecco un esempio di progetto che sembra promettente: http://www.codeproject.com/KB/cs/SingleInstanceAppMutex.aspx
Cito qui gli obiettivi:
Obiettivo n. 1: impedire una seconda istanza dall'apertura
Obiettivo n. 2: attivare la prima istanza
Obiettivo n. 3. Se il primo caso è Ridotto a icona al vassoio di sistema (aka " Area di notifica "), Ripristina