Я работаю над приложением, у которого в любой момент времени должен существовать только один экземпляр. Для этого есть несколько возможностей:
- Проверьте запущенные процессы на предмет соответствия имени нашего EXE (ненадежно)
- Найдите главное окно (ненадежно, и у меня не всегда есть главное окно)
- Создайте мьютекс с уникальным именем (GUID)
Вариант мьютекса мне кажется наиболее надежным и элегантным.
Однако до того, как мой второй экземпляр завершится, я хочу отправить сообщение уже запущенному экземпляру. Для этого мне нужен дескриптор потока (или процесса), которому принадлежит мьютекс.
Однако, похоже, нет функции API для определения создателя / владельца данного мьютекса. Я просто не замечаю этого? Есть ли другой способ попасть в эту ветку / процесс? Есть ли другой способ сделать это?
Обновление: Этот парень просто отправил сообщение все запущенные процессы. Думаю, это возможно, но мне это не очень нравится ...