最近在作winform的程序中,须要只能打开一个程序,若是已经存在,则激活该程序的窗口,并显示在最前端。在网上google了一哈,找到了不少的解决方案。这里我整理了3种方案,并通过了测试,现和朋友们分享:前端
1、使用用互斥量(System.Threading.Mutex)函数
同步基元,它只向一个线程授予对共享资源的独占访问权。在程序启动时候,请求一个互斥体,若是能获取对指定互斥的访问权,就任运行一个实例。测试
2、使用进程名google
3、调用Win32 API,并激活并程序的窗口,显示在最前端spa