На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Как недопустить запуск второй копии проги?
    Как сделать, чтобы при запуске второй копии программы первая копия делалась активной, а вторая закрывалась?
      1. Через мутексы. При создании 2-ого мутекса функция возвратит ошибку ALREADY_EXISTS, тем самым ты определяешь, что прога уже запущена
      2. Через FindWindow()
      3. Через shared section в твоём ехе, но это сработает только если вторую прогу запустили из той же директории, что и первую
      4. Через CreateToolhelp32Snapshot, но это только для Win9x для NT/2k QuerySystemInformation()

      PS. ИМХО если извратится можно ещё что-нибудь придумать, но самые нормальные и надёжные это 1 и 2 способы
        Можно через указатель на HINSTANCE прошлого экземпляра проги. Читай описание WinMain().
          Цитата Phoenix_Simon, 30.08.02, 21:25:14
          Можно через указатель на HINSTANCE прошлого экземпляра проги. Читай описание WinMain().

          Уже безнадёжно устарело...
            Ага, лет 7 уже назад... с времён 3.х
              А главное - уже просто не работает.
                .alex
                Вариант 2 не самый удачный.
                Почитайте http://www.rsdn.ru/article/?baseserv/avins.xml
                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0555 ]   [ 15 queries used ]   [ Generated: 18.05.24, 13:57 GMT ]