Ora ho 1 applicazione, ma non voglio aprire l'applicazione due volte, quindi utilizzando QShareMemory
per rilevare l'applicazione quando è aperta due volte. E la mia domanda è: come mostro l'applicazione corrente sullo schermo quando l'utente apre l'applicazione il secondo?Come si mostra un'applicazione quando si apre nuovamente l'applicazione Qt
int main(int argc, char *argv[]) {
Application a(argc, argv);
/*Make sure only one instance of application can run on host system at a time*/
QSharedMemory sharedMemory;
sharedMemory.setKey ("Application");
if (!sharedMemory.create(1))
{
qDebug() << "123123Exit already a process running";
return 0;
}
/**/
return a.exec();
}
Grazie.
hanno una bandiera in SHM per notificare la vostra applicazione in esecuzione per eseguire un aumento o mettere il WinID in shm per alzare la finestra usando le chiamate native. –
Sto usando HWND hWnd = :: FindWindowA() alla chiave fint/Nome dell'applicazione, e dopo, usando :: SetForegroundWindow (hWnd) per ripristinarlo. Grazie Sebastian Lange –
Un codice specifico WIN32 sarebbe accettabile come soluzione oppure è necessaria una soluzione multipiattaforma? – jpo38