比较简单的方法:使用使用互斥量(Mutex)。以Winform App为例,主要代码如下:
static class Program{ [STAThread] static void Main() { bool createNew; using (Mutex mutex = new Mutex(true, Application.ProductName, out createNew)) { if (createNew) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } else { // 程序已经运行,显示提示后退出 MessageBox.Show("应用程序已经运行!"); } } }}