BigBastis Blog

Prüfen ob ein (eigenes) Programm bereits läuft

Introduction

user

Sebastian Gross

Sebastian 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.


LATEST POSTS

Handling too long scrollspy menus 10th June, 2015

Java: Create ZIP archive 23rd March, 2015

.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 Sub

Es empfielt sich auch diese Abfrage beim Starten des Programms zu machen damit nicht schon irgendwelche Daten angesprochen werden und damit geschädigt werden!

profile

Sebastian Gross

http://www.bigbasti.com

Sebastian 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.

Comments
user

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

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

View Comments (1) ...
Navigation