测试函数: private bool AppAlreadyRunning() ... { System.Diagnostics.Process curProcess = System.Diagnostics.Process.GetCurrentProcess(); System.Diagnostics.Process[] allProcess = System.Diagnostics.Process.GetProcesses(); foreach (System.Diagnostics.Process process in allProcess) ...{ if (process.Id != curProcess.Id) ...{ if (process.ProcessName == curProcess.ProcessName) return true; } } return false; } 应用程序中直接判断: System.Diagnostics.Process[] pros = System.Diagnostics.Process.GetProcessesByName( System.Diagnostics.Process.GetCurrentProcess().ProcessName); if (pros.Length > 1 ) ... { Application.Exit(); return; } 在此向提供代码参照的同行表示感谢!