Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > повторный запуск приложения


Автор: Allexander 29.6.2006, 21:17
Уважаемые подскажите как запретить запуск приложения если оно уже запущенно. 

Автор: BreakPointMAN 29.6.2006, 21:41
Читаем на http://rsdn.ru: http://rsdn.ru/article/baseserv/avins.xml 

Автор: maalan 30.6.2006, 10:34
я, например, так делаю:
Код

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
HANDLE hMutex = NULL;
try
   {
   hMutex = ::CreateMutex(NULL, true, "УНИКАЛЬНОЕ_НАЗВАНИЕ_mutex"); // см. help
   if (::GetLastError() != 0)
      throw Exception("Повторный запуск");

   Application->Initialize();
   Application->CreateForm(__classid(TForm1), &Form1);
   Application->Run();
   }
catch (Exception &exception) {Application->ShowException(&exception);}
if (hMutex != NULL) ::ReleaseMutex(hMutex);
::CloseHandle(hMutex);
return 0;
}
  

Автор: Svetkin 20.7.2006, 12:01
А как бы еще "поднять" это приложение которое дублируется!!!! 

Автор: vvpC 20.7.2006, 13:32
FindWindowEx, искать по имени класса окна(не по заголовку), затем "проднимать" его с помощью SetForegroundWindow. и мютекс никакой не нужен 

Автор: Svetkin 20.7.2006, 20:50
а по мутексу можно поднять???? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)