Pertanyaan WPF Hanya memberlakukan SATU contoh aplikasi


Bagaimana cara saya mengijinkan hanya satu contoh aplikasi WPF untuk dijalankan?

Terima kasih.


32
2018-01-05 21:50


asal


Jawaban:


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

Tidak memerlukan VB.DLL seperti yang disarankan beberapa contoh lainnya. Memiliki kode contoh WPF. Melewati garis cmd apa pun beragumen ke instance awal.


29
2018-03-30 09:11



Coba ini: Aplikasi contoh tunggal. Saya telah menggunakan metode kedua dan itu berfungsi dengan baik.


15
2018-01-05 22:37



Saya menggunakan metode pembantu ini dan memanggilnya dari acara application.startup

    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

2
2017-09-20 12:31



Lihat solusi ini: Membiarkan hanya satu contoh aplikasi WPF untuk dieksekusi

Ini tidak hanya memberlakukan satu contoh aplikasi, tetapi juga memberikan fokus aplikasi Anda saat ini ketika turunan tambahan dari aplikasi dijalankan. Solusi mutex saya untuk membatasi satu contoh sebenarnya berbeda dari tautan di atas, tetapi saya menyukai elemen "fokus" untuk solusi ini.


0
2017-08-12 20:31



Pengguna sobelito terkait ini pos, yang memiliki hal berikut memperbarui. Apa yang dikatakannya adalah sumber daya yang diperbarui yang harus Anda gunakan Windows 7 Taskbar Single Instance, yang jika Anda melihat ke sumbernya akan memungkinkan Anda melakukan apa yang Anda butuhkan.

Anda dapat menggunakan SingleInstance c # proyek. Ini juga berisi contoh untuk WinForms dan WPF.

Perhatikan bahwa itu juga dirilis di bawah lisensi Apache 2.0, tidak seperti posting Poznanski Arik di Blog Microsoft, yang (IANAL, AFAIK) tidak tersedia secara komersial.


0
2018-03-01 11:38