Чтобы пользователь не мог запускать несколько экземпляров моего приложения, я использую этот код: -
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();
}
Но, как мы знаем, имя процесса изменяется, если изменить имя исполняемого файла.Поэтому, если пользователь изменит «myApp.exe» на «UserApp.exe», этот патч не будет работать!Есть ли выход?
Я использую C # в VS2010.Спасибо!