Здравствуйте!
Подскажите пожалуйста, как средствами wxWidgets можно узнать - запущено ли уже приложение. Необходимо запретить пользователю запускать больше одной копии программы. Если запускает повторно - делать активным окно уже запущенно программы.
Для решения под ОС Windows я бы использовала именованный мьютекс, код примерно такого вида
В wxWidgets Есть такая штука как http://doc.crossplatform.ru/wxwidgets/2.8.9/wx_wxsingleinstancechecker.html:
bool MyApp::OnInit()
{
const wxString szName = wxString::Format( "MyApp-%s", wxGetUserId().c_str());
m_checker = new wxSingleInstanceChecker( szName);
if ( m_checker->IsAnotherRunning() )
{
wxLogError( _( "Another program instance is already running, aborting."));
return false;
}
// ... more initializations ...
return true;
}
int MyApp::OnExit()
{
delete m_checker;
return 0;
}
Спасибо, помогло
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)