vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Verschiedenes / Sonstiges   |   VB-Versionen: VB.NET27.12.05
App.PrevInstance für VB.NET

Mehr als nur eine Ersatzfunktion für die unter VB6 bekannte App.PrevInstance Eigenschaft!

Autor:   Dieter OtterBewertung:  Views:  22.754 
www.tools4vb.deSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Unter VB6 konnte man beim Starten der eigenen Anwendung mit Hilfe der App.PrevInstance-Eigenschaft schnell und einfach prüfen, ob die Anwendung bereits gestartet ist, um so einen Mehrfachaufruf der Anwendung zu verhindern. Unter VB.NET gibt es diese Eigenschaft aber leider nicht mehr.

Nachfolgend eine Ersatzfunktion für VB.NET, mit der sich im Gegensatz zur VB6-Funktion die Erst-Instanz der Anwendung über den optional Parameter "bAppActivate" auch noch direkt aktivieren lässt!

' Anwendung bereits gestartet?
Public Function AppPrevInstance(Optional ByVal bShowMsg As Boolean = True, _
  Optional ByVal bAppActivate As Boolean = True) As Boolean
 
  ' Anzahl der gestarteten Prozesse der eigenen Anwendung
  If Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName).Length > 1 Then
    ' Hinweis anzeigen
    If bShowMsg Then MsgBox("Anwendung wird bereits ausgeführt!")
 
    ' Erst-Anwendung aktivieren
    If bAppActivate Then
      AppActivate(Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName)(1).Id)
    End If
 
    Return True
  End If
End Function

Beispiel für den Aufruf:

Private Sub Form1_Load(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles MyBase.Load
 
  ' Falls Anwendung bereits gestartet, Hinweis anzeigen
  ' und Erst-Instanz aktivieren...
  If AppPrevInstance() Then
    ' ... und neue Instanz sofort wieder beenden
    Application.Exit()
  End If
End Sub



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.