Ich möchte .exe-Datei (genauer gesagt Konsole-Anwendung) auf ein funktionierendes Programm zu konzentrieren, die das erste Mal gestartet es funktioniert, aber bei der zweiten Ausführung (während der erste existiert) könnte Fokus auf drehen das erste gestartete Programm. Ist das überhaupt möglich in Qt?Einzelinstanz-Anwendung in Qt
Antwort
Für einzelne Instanz lesen Sie Run only one instance of a Qt application.
Unabhängig von der Portabilität ist es bei Verwendung von Windows ein weiterer gängiger Ansatz, beim Starten der Anwendung eine (oder eine named mutex) zu erstellen und diese vor dem Beenden zu zerstören. Wenn die benannte Pipe bereits existiert, wird bereits eine andere Instanz ausgeführt. Sie könnten sogar in die benannte Pipe schreiben und die andere Instanz auffordern, ihr Fenster nach vorne zu bringen, obwohl eine Konsolenanwendung hiervon möglicherweise nicht profitieren würde.
Eine weitere Möglichkeit, die vorhandene Instanz zu konzentrieren ist das Fenster der bereits laufenden Instanz zu finden, rufen Sie dann SetFocus auf seiner HWND
oder die entsprechende Funktion auf Ihrer Plattform.
- 1. Neustart einer Einzelinstanzanwendung
- 2. Aktivieren des Hauptformulars einer Einzelinstanzanwendung
- 3. Qt: Unbekannte Module in QT: webview
- 4. Libvirt in Fehler Qt während in Qt Creator kompilieren
- 5. Persistenz-Klassen in Qt
- 6. Eingebettete Datenbank in Qt
- 7. Wie Einstellungen in Qt
- 8. glTexImage3D stürzt in QT
- 9. Bild drehen in Qt
- 10. Zeileninterpolation in Qt?
- 11. Bildschirmtastatur in Qt 5
- 12. Unload Plugin in Qt
- 13. GIF-Animation in Qt
- 14. Ausnahmesicherheit in Qt
- 15. Debuggen in Qt Creator
- 16. Kippschalter in Qt
- 17. unique_ptr in Qt-Projekt
- 18. Druckbogen in Qt
- 19. Regulärer Ausdruck in Qt
- 20. undefined reference in qt
- 21. Eröffnungsdatei in Qt
- 22. //! [0] in Qt-Quelltext
- 23. glMultiDrawArrays in QT?
- 24. Hierarchie in Qt [C++]
- 25. Unterbrechbarer Schlaf in Qt?
- 26. Making Grundstück in Qt
- 27. wie Kontaktliste in qt
- 28. Downcasting in Qt
- 29. Qt + OpenCV in Debian
- 30. Smart Pointer in Qt
Vielen Dank, aber ich habe nicht mit dem _named_pipe_ Problem bekommen. – elgolondrino
Sie rufen ** [CreateNamedPipe] (http://msdn.microsoft.com/en-us/library/aa365150) ** auf, um eine Named Pipe zu erstellen, und wenn es fehlschlägt (Rückgabewert ist 'INVALID_HANDLE_VALUE'), bedeutet dies Eine andere Instanz hat bereits eine Pipe mit demselben Namen erstellt. Daher wissen Sie, dass bereits eine andere Instanz ausgeführt wird. – jweyrich