我希望我的程序只能啓動一次(不管它是否可以在其他用戶帳戶上啓動)。如果第二次啓動,C#程序只能運行一次+ BringToFront
如果它已經啓動並且.exe再次打開,它應該將第一個實例的主窗口置於前面。
實現此目的的最簡單方法是什麼?
我希望我的程序只能啓動一次(不管它是否可以在其他用戶帳戶上啓動)。如果第二次啓動,C#程序只能運行一次+ BringToFront
如果它已經啓動並且.exe再次打開,它應該將第一個實例的主窗口置於前面。
實現此目的的最簡單方法是什麼?
This blog series might be helpful(見底部鏈接的其他選項)。我個人喜歡Part 4中描述的方法,因爲在Windows Forms世界中,我使用WindowsFormsApplicationBase
類取得了很好的成功。
你想看看使用互斥對象。基本上,當你的程序運行時,檢查一下Mutex是否存在「你的唯一名稱」,如果有的話 - 關閉應用程序(在加載所有資源之前檢查),否則創建一個具有唯一名稱的Mutex,並按計劃加載應用程序。
謝謝,這也爲我做了詭計。 – Hedge 2011-03-31 19:40:00