using System.Diagnostics; private void Form1_Load(object sender, EventArgs e) { try { string moduleName = Process.GetCurrentProcess().MainModule.ModuleName; string processName = Path.GetFileNameWithoutExtension(moduleName); Process[] aryProcess = Process.GetProcessesByName(processName); if (aryProcess.Length > 1) { MessageBox.Show("This program is running already!"); this.Close(); } //... } catch (Exception ex) { //... } }Note: This will check the process based on the filename. It will not work if the filename is different. For example, if you make a copy of your program (let's say FindMP3.exe) and rename it to a different name like FindMP3_1.exe. People can run FindMP3.exe and FindMP3_1.exe at the same time. You can fix this by checking the filename at program startup.
You can find other approaches from here.
No comments:
Post a Comment