实现效果:
知识运用:
Path类的GetFileNaemWithoutExtension方法 //返回不具有拓展名的指定路径字符串的文件名
public static string GetFileNameWithoutExtension (string path)
process类的GetProcessByName方法 //创建新的Process组件的数组
public static Process[] GetProcessesByName (string processName)
实现代码:
private void Form1_Load(object sender, EventArgs e) { string str = Process.GetCurrentProcess().MainModule.ModuleName; //获取当前活动进程的模块名称 Process[] pro = Process.GetProcessesByName(Path.GetFileNameWithoutExtension(str)); //返回指定路径字符串的文件名 if (pro.Length > 1) //如果数组长度大于1 表明多次运行 { MessageBox.Show("本程序仅允许运行一个实例!"); this.Close(); //关闭当前窗体 } }