最近在作winform的程序中,須要只能打開一個程序,若是已經存在,則激活該程序的窗口,並顯示在最前端。在網上google了一哈,找到了不少的解決方案。這裏我整理了3種方案,並通過了測試,現和朋友們分享:前端
1、使用用互斥量(System.Threading.Mutex)函數
同步基元,它只向一個線程授予對共享資源的獨佔訪問權。在程序啓動時候,請求一個互斥體,若是能獲取對指定互斥的訪問權,就任運行一個實例。測試
2、使用進程名google
3、調用Win32 API,並激活並程序的窗口,顯示在最前端spa