5 Replies
  1. 29

    http://blogs.microsoft.co.il/blogs/arik/archive/2010/05/28/wpf-single-instance-application.aspx

    Non richiede VB.DLL come alcuni altri esempi di consigliare.
    Ha WPF codice di esempio.
    Passa ogni linea cmd arg istanza iniziale.

    • Mi piace molto questo metodo, che permette di fare cose come attivare una finestra ridotta a icona se l’utente tenta di eseguire nuovamente il programma.
    • Questo è in un non-commerciale di Microsoft blog licenza. La risorsa è stata pubblicata in msdn con una licenza diversa. Vedi la mia risposta a questo thread.
  2. 15

    Provare questo: A istanza singola applicazione. Ive ha utilizzato il secondo metodo e funziona benissimo.

    • il secondo metodo è il migliore che ho trovato. solo ottenere oltre il fatto che si utilizza Microsoft.VisualBasic DLL e tutto il resto di cui avete bisogno – compreso l’uso corretto di .NET remoting (socket o mutex per creare voi stessi). ma meglio di tutti, è facile passare i parametri per l’applicazione già in esecuzione, o semplicemente portare in primo piano quando si tenta di riaprire
  3. 2

    Io uso questo metodo helper e chiamata dall’applicazione.evento di avvio

        Public Sub ForceSingleInstanceApplication()
            'Get a reference to the current process
            Dim MyProc As Process = Process.GetCurrentProcess
    
            'Check how many processes have the same name as the current process
            If (Process.GetProcessesByName(MyProc.ProcessName).Length > 1) Then
                'If there is more than one, it is already running
                MsgBox("Application is already running", MsgBoxStyle.Critical, My.Application.Info.Title) 'Reflection.Assembly.GetCallingAssembly().GetName().Name)
                ' Terminate this process and give the operating system the specified exit code.
                Environment.Exit(-2)
                Exit Sub
            End If
        End Sub
  4. 1

    Check out questa soluzione: Permettere una sola istanza di un’applicazione WPF per eseguire

    Questo non si applica solo un’istanza di un’applicazione, ma dà anche la vostra applicazione corrente di messa a fuoco durante un’ulteriore istanza di un’applicazione che viene eseguito. Il mio mutex soluzione per limitare un esempio è effettivamente diverso dal precedente link, ma mi è piaciuto il “focus” elemento di questa soluzione.

  5. 0

    Utente sobelito collegati questo post, che ha le seguenti aggiornamento. Quello che dice è che per un aggiornamento risorsa si dovrebbe usare Windows 7 Barra Delle Applicazioni Singola Istanza, che se si guarda in origine vi permetterà di fare ciò che è necessario.

    È possibile utilizzare il SingleInstance progetto c#. Esso contiene anche i campioni per le windows form e WPF.

    Nota che anche questa è rilasciato sotto la licenza Apache 2.0, a differenza di Arik del Poznanski post nel Blog di Microsoft, che è (IANAL, per quanto ne sappia) non disponibile in commercio.

Lascia un commento