Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.224.251.136] |
|
Сообщ.
#1
,
|
|
|
Как сделать, чтобы при запуске второй копии программы первая копия делалась активной, а вторая закрывалась?
|
Сообщ.
#2
,
|
|
|
1. Через мутексы. При создании 2-ого мутекса функция возвратит ошибку ALREADY_EXISTS, тем самым ты определяешь, что прога уже запущена
2. Через FindWindow() 3. Через shared section в твоём ехе, но это сработает только если вторую прогу запустили из той же директории, что и первую 4. Через CreateToolhelp32Snapshot, но это только для Win9x для NT/2k QuerySystemInformation() PS. ИМХО если извратится можно ещё что-нибудь придумать, но самые нормальные и надёжные это 1 и 2 способы |
Сообщ.
#3
,
|
|
|
Можно через указатель на HINSTANCE прошлого экземпляра проги. Читай описание WinMain().
|
Сообщ.
#4
,
|
|
|
Цитата Phoenix_Simon, 30.08.02, 21:25:14 Можно через указатель на HINSTANCE прошлого экземпляра проги. Читай описание WinMain(). Уже безнадёжно устарело... |
Сообщ.
#5
,
|
|
|
Ага, лет 7 уже назад... с времён 3.х
|
Сообщ.
#6
,
|
|
|
А главное - уже просто не работает.
|
Сообщ.
#7
,
|
|
|
.alex
Вариант 2 не самый удачный. Почитайте http://www.rsdn.ru/article/?baseserv/avins.xml |