To prevent the user from running multiple instances of my application, I use this code: -
Process[] pArry = Process.GetProcesses(); int nCount = 0; foreach (Process p in pArry) { string ProcessName = p.ProcessName; ProcessName = ProcessName.ToLower(); if (ProcessName.CompareTo("myApp") == 0) { nCount++; } } if (nCount > 1) { MessageBox.Show(AppAlreadyRunning,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error); Process.GetCurrentProcess().Kill(); }
But As you know, the name of the process changes if you change the name exe. So, if the user changes "myApp.exe" to "UserApp.exe", this patch will not work! Is there a way out?
I am using C # in VS2010. Thanks!
source share