.NET
Prüfen ob ein (eigenes) Programm bereits läuft
Posted on .In diesem Beitrag gehts es darum zu prüfen, ob das (eigene) Programm bereits geöffnet ist. Dies ist oft von Vorteil wenn ein Programm nur einmal ausgeführt werden soll und nicht ausversehen mehrfach ausgeführt wird, und eventuell auf die gleichen Daten zugreifen und sie dadurch schädigen.
Das Vorgehen hier ist ziemlich simpel und es gibt auch viele Ansätze dies festzustellen!
Alle geöffneten Programme bzw. Prozesse werden von VB.NET in einem Array für uns bereitgestellt. Diesen können wir mit dem Aufruf Process.GetProcesses. Dort müssen wir nur nach unserem Programm suchen und prüfen, ob es mehr als einmal auftaucht und diesen Prozess eventuell beenden!
Private Sub Form1_Load() Handles MyBase.Load Dim zähler As Integer = 0 Dim pl As Process() = Process.GetProcesses For Each p As Process In pl If p.ProcessName = My.Application.Info.Title Then zähler += 1 End If Next If zähler > 1 Then MessageBox.Show("Programm läuft bereits!") 'Optional: '--- End '--- End If End SubEs empfielt sich auch diese Abfrage beim Starten des Programms zu machen damit nicht schon irgendwelche Daten angesprochen werden und damit geschädigt werden!
Sebastian Gross
http://www.bigbasti.comSebastian Gross arbeitet in Bielefeld als Softwareentwickler für .NET und Java im Bereich Web.Als Fan der .NET-Plattform lässt er sich kein Userguppen Treffen und Community Event im Raum OWL entgehen.Dabei hat er eine besondere Vorliebe für das ASP.NET MVC Framework und für das Test Driven Development (TDD) entwickelt.
Author Masta
Posted at 12:53 8. September 2010.
Private Sub Form1_Load() Handles MyBase.Load
Dim pl As Process() = Process.GetProcessesByName(My.Application.Info.Title)
If pl.length >= 1 Then
MessageBox.Show(„Programm läuft bereits!“)
‚Optional:
‚—
End
‚—
End If
End Sub