В прошлом проекте мне нужно было предотвратить многократное выполнение процесса, поэтому я добавил некоторый код в раздел инициализации этого процесса, который создает именованный мьютекс. Этот мьютекст был создан и получен перед продолжением остальной части процесса. Если процесс может создать мьютекс и получить его, то он запускается первым. Если другой процесс уже контролирует мьютекс, то тот, который завершается неудачей, не первый, поэтому он немедленно завершает работу.
Я просто пытался предотвратить запуск второго экземпляра из-за зависимостей от конкретных аппаратных интерфейсов. В зависимости от того, что вам нужно для этой строки «переключиться на», вам может потребоваться более конкретное решение, такое как идентификатор процесса или дескриптор.
Кроме того, у меня был доступ к исходному коду к процессу, который я пытался запустить. Если вы не можете изменить код, добавление мьютекса, очевидно, не вариант.