Доброго времени суток!
Я автор проигрывателя xelplayer (обсуждение здесь на сайте ).
Вопрос вот в чем, предположим проигрыватель уже запущен, а пользователь запускает на проигрывание другой медиа-файл или плей-лист. Как предотвратить запуск второй копии программы, а выбранный медиа-файл передать первой копии? Так ведет себя, например, проигрывать totem.
пока, что мне пришло на ум следующий алгоритм:
-в событии oncreate проверять список запущенных программ (например через tprocess запускать утилиту ps и анализировать ее вывод)
-если программа уже запущена, то прерывать запуск, а выбранный медиа-файл или плейлист записывать в определенный файл-флаг.
-в самой программе предусмотреть мониторинг появления файл-флага (ну например через ttimer) и если он появился, то загружать из него плей-лист.
Топорно как-то, может есть чего поизящнее?