crossplatform.ru

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


  Ответ в Запуск одного экземпляра программы.
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Tonal Дата 29.2.2008, 11:09
 
Цитата(Litkevich Yuriy @ 27.2.2008, 14:04) *
Но ведь Instance() применим и к QApplication, может быть можно через него отслеживать запущенное приложение?

Как? Магией?
Для того, чтобы приложения могли общаться между собой (отслеживание экземпляров это тоже общение) нужно чтобы кто-то обращался к сервисам операционной системы.
QApplication этого не делает.
Стало быть тебе нужно это сделать самостоятельно. По приведённой ссылке ничего похожего нет. :-)
iluxa Дата 27.2.2008, 14:12
  Всем спасибо, пока вопрос отложен, за неимением подходящего результата =), жаль что QSingleApplication закрыт =(
Litkevich Yuriy Дата 27.2.2008, 11:04
  Но ведь Instance() применим и к QApplication, может быть можно через него отслеживать запущеное приложение?
Tonal Дата 27.2.2008, 10:56
  2 Litkevich Yuriy И причём тут экземпляр приложения?
По ссылке простейшая реализация синглетона для диалога, а приложений с такими диалогами можно наоткрывать пока память не закончиться. :-)
Litkevich Yuriy Дата 27.2.2008, 9:38
  Mixolap, он у тебя через порты реализован, а их может брандмауэр банить, я вот еще вариант нашел через Instance()
Mixolap Дата 27.2.2008, 9:13
  Класс DSingleApplication может помочь.
скачать с qtfaq.ru
Litkevich Yuriy Дата 27.2.2008, 9:03
  я в Борланде делал через именованый мьютекс:
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'ях
Tonal Дата 27.2.2008, 8:52
  У меня есть модуль для винды написанный на python-е.
Могу выложить, если кому надо. :-)
iluxa Дата 26.2.2008, 18:43
 
Цитата(QCasper @ 11.12.2007, 0:03) *
Цитата(Mixolap @ 10.12.2007, 22:38) *


Ну вот, даже для opensource есть :)

Уважаемые, не поделитесь ли классом =), ибо по ссылке ничего не найденно, т.к. сайт видимо реконструировали, и теперь там вообще подобного нет. Заранее Спасибо.
shakil Дата 11.12.2007, 8:42
  Спасибо, оперативно помогли. :)
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 22:49