crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Запрет на запуск программы дважды
RazrFalcon
  опции профиля:
сообщение 30.1.2011, 4:06
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Как сделать, чтобы при попытке повторно запустить прогу или вообще ничего не происходило (то есть новый экземпляр не стартовал), или уже запущенное окно появлялось.

Поиск использовал, но ничего не нашел. Сомневаюсь что такое темы не было. =/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 4)
igor_bogomolov
  опции профиля:
сообщение 30.1.2011, 4:41
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


QtSingleApplication
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 30.1.2011, 5:07
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Ну вроде примеры пашут как мне нужно.
Но ужасно все в них запутанно. Буду разбираться, чувствую, долго.
А почему там network используется? Вроде к сетям никакого отношение нет =/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 13.4.2011, 19:05
Сообщение #4


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Для Linux решил так:
в program.desktop, ака пункт в меню, заменяем
Exec=program
на:
Exec=bash -c 'pgrep "^program$" || program'
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.4.2011, 8:45
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(RazrFalcon @ 30.1.2011, 8:07) *
Но ужасно все в них запутанно.
там всё очень просто

Цитата(RazrFalcon @ 30.1.2011, 8:07) *
А почему там network используется? Вроде к сетям никакого отношение нет =/
через петлевой интерфейс (loopback) общаются экземпляры программы и тем самым узнают, что уже экземпляр запущен (но это всё происходит без твоей помощи).
Тебе нужно просто задать уникальную строку - имя программы, по нему определяется программа, "запущена или не запущена"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 23:25