我只是在C#中創建應用程序,但我不喜歡。我想讓應用程序運行一次。現在,如果我的應用程序正在運行,當我再次運行應用程序時,將啓動另一個應用程序。我想讓應用程序只運行一次,如果你想再次運行應用程序,不要創建另一個應用程序,而是啓動正在運行的應用程序。啓動應用程序只是一次C#
謝謝。
我只是在C#中創建應用程序,但我不喜歡。我想讓應用程序運行一次。現在,如果我的應用程序正在運行,當我再次運行應用程序時,將啓動另一個應用程序。我想讓應用程序只運行一次,如果你想再次運行應用程序,不要創建另一個應用程序,而是啓動正在運行的應用程序。啓動應用程序只是一次C#
謝謝。
請檢查這個問題:Run single instance of an application using Mutex
您正在尋找Mutex
檢查,如果你的應用程序運行。然後找到正在運行的應用程序Process
並將其展開。
當你的應用程序啓動時,你必須看到你的應用程序實例已經運行或沒有運行的進程,然後根據它做出決定。
可能的重複:
Detecting a Process is already running in windows using C# .net
你所指的概念是 「單實例應用程序」。 這通常通過命名的等待對象來實現,查看this article或this one。
我實現這個的方式是使用Mutex
。應用程序的每個實例都會在啓動時嘗試鎖定互斥鎖。如果他們成功了,他們就會跑步;如果他們失敗了,他們不會。
無法運行的應用程序還會恢復並激活正在運行的實例。取決於它是WPF還是WinForms應用程序,這取決於不同的方式。
互斥方法的優勢在於它比使用FindWindow更不易發生競態條件。
谷歌呢? https://www.google.com/search?q=single%20instance%20application%20.net – 2012-07-18 13:05:30
或這一個http://stackoverflow.com/questions/93989/prevent-multiple-instances-of-a-given -app-在網 – 2012-07-18 13:07:49