var processes = from proc in System.Diagnostics.Process.GetProcesses() select proc.ProcessName;
// Раскомментировав код ниже можно получить строку со всеми
// запущенными процессами (разделёнными запятой).
// Чтобы посмотреть как точно называется наш процесс.
// return String.Join(", ", processes);
if (processes.Contains("thunderbird"))
return true;
else
return false;
Тут в качестве примера использовал
thunderbird. Если процесс не запущен, то код вернёт False, если запущен - True (не забываем в настройках экшена прописать переменную, в которую упадёт результат).
Ну, а потом уже, если программа не запущена, можно будет стартануть её с помощью стандартного экшена "Запуск программы".