Rubrik: Allgemein | 01.05.04 |
Mehrfachstart einer Anwendung verhindern (VB.NET 2005) VB-Version: VB5, VB6 | ||
Views: 16.201 |
Dieser FAQ-Beitrag wurde uns von Lukas Eckert, einem eifrigen Forenbenutzer, zugeschickt.
Das mehrfache Starten einer Anwendung zu verhindern ist in Visual Basic.Net wesentlich einfacher als mit alten VB-Versionen (dazu der Tipp Mehrfachstart der Anwendung verhindern). Beim Verhindern ist es bei beiden Sprachen einfach: In VB wird App.PrevInstance abgefragt und in VB.Net setzt man in den Projekteigenschaften (Reiter "Anwendung") ein Häkchen bei "Einzelinstanzanwendung erstellen".
Der große Unterschied kommt jetzt beim Aktivieren der bereits gestarteten Anwendung: In VB musste man dies umständlich per Windows API machen, in VB.Net reicht 1 Zeile Code:
- Zuerst wieder in die Projekteigenschaften gehen, Reiter "Anwendung"
- Auf die Schaltfläche "Anwendungsereignisse anzeigen" klicken
- In der neu erstellen Klasse "ApplicationEvents.vb" über dem Code-Bereich in die linke Auswahlliste klicken und "(MyApplication-Ereignisse)" auswählen und in der Auswahlliste rechts "StartupNextInstance" auswählen
- In dem erstellten Sub diese Zeile einfügen:
e.BringToForeground = True
Und das war auch schon alles, wenn man versucht die Anwendung zu starten während sie bereits läuft wird der Start abgebrochen und die bereits laufende Instanz in den Vordergrund gebracht.