Моя программа C# использует следующий код, чтобы определить, если он уже работает: < /p>
Process CurProcess = Process.GetCurrentProcess();
Process[] CurProcesses = System.Diagnostics.Process.GetProcessesByName(CurProcess.ProcessName);
if (CurProcesses.Length > 1)
... // Already running
< /code>
Я использовал это в течение многих лет без проблем. Но в прошлом месяце двое моих пользователей сообщили, что она ошибочно говорит, что программа работает, когда это не так. Я немного возился и переместил исполняемый файл, прежде чем перемещать его обратно, затем, когда я снова запустил программу, он больше не ошибочно сказал, что процесс запускается. По-настоящему раздражающему, что оба пользователя сообщали, что время от времени проблема продолжается при перезапуске-она ошибочно думает, что уже работает, хотя это очень определенно не так. Я не уверен, является ли это частью проблемы. Я не нашел никаких похожих тем. Спасибо за проницательность.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ct-results