Поскольку я пробовал много способов остановить проблему с несколькими экземплярами на портативном устройстве, работающем на .net compact framework 3.5.
В настоящее время я получил решение, создав «Mutex» и проверив, запущен ли тот же процесс. Я поместил это утверждение в «Program.cs», который будет выполняться в первый раз при запуске программы.
Но я думаю, что это не решает мои проблемы, потому что я получил запрос от пользователя, что ему нужно отключить "значок программы" во время работы.
Я понимаю, что пользователь иногда может «открыть» программу несколько раз или более за короткий период. Так что, если он еще в состоянии «открыть». Это означает, что программа должна будет инициализироваться сама и, возможно, в конечном итоге потерпит неудачу. Можно ли абсолютно предотвратить множественный экземпляр? или есть другой способ без программирования, как редактирование реестра в Windows CE?
Вот мой исходный код:
bool firstInstance;
NamedMutex mutex = new NamedMutex(false, "MyApp.exe", out firstInstance);
if (!firstInstance)
{
//DialogResult dialogResult = MessageBox.Show("Process is already running...");
Application.Exit();
}
NamedMutex - это класс из OpenNetCF.