crossplatform.ru

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

Гость_shakil_*
сообщение 10.12.2007, 18:22
Сообщение #1





Гости








    


Под виндой, чтобы не запускать более одного экземпляра приложения нужно сделать FindWindow и если такое окно есть, то делаем его активным, а новый экземпляр не запускаем.

Подобное можно сделать на Qt?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 27.2.2008, 9:03
Сообщение #2


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

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

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




Репутация:   94  


я в Борланде делал через именованый мьютекс:
const char *NamedMutex = "ESPA Demon"; // именованный mutex

HANDLE CheckInstance( const char *Name)
{
HANDLE Mutex = CreateMutex(NULL,true,Name);

    int r = GetLastError();
    if (r) return 0;
    return Mutex;
}
//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
HANDLE Mutex = CheckInstance(NamedMutex);

    if (!Mutex)
    {
        ShowMessage(" Приложение уже запущено! ");
        ReleaseMutex(Mutex);
        return 1;
    }
    
    try
    {
        Application->Initialize();
        Application->Title = "ESPA Demon";
        Application->CreateForm(__classid(TFrmMain), &FrmMain);
        Application->CreateForm(__classid(TFrmModBus), &FrmModBus);
        Application->Run();
    }
    catch (Exception &exception)
    {
        Application->ShowException(&exception);
    }
    return 0;
}


Где-то у кого-то, когда-то подсмотрел, может по аналогии и зделать в Qt'ях
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 13.7.2025, 13:05