vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Kein zweites Starten des eigenen Programmes erlauben 
Autor: Morlock
Datum: 17.07.04 19:41

Hallo Enrico
teste mal diesen Code
erzeuge neue GUID und trage diese dann ein.
Achte auf Anführungszeichen und geschweifte Klammer
Public Shared Sub Main()
 
    Dim createdNew As Boolean
 
    ' ID für Mutext - NICHT KOPIEREN, SONDERN NEUE ERZEUGEN
    Dim mutexGuid As String = "{A0330AB0-8961-415a-A13E-86A585925C4C}"
 
    ' Mutex abfragen und ggf. belegen
    Dim mtx As New System.Threading.Mutex(False, mutexGuid, _
      createdNew)
 
    ' War der Mutex bereits angelegt?
    If createdNew Then
 
      ' Nein, das ist die einzige Instanz auf dieser Maschine
      ' Hauptfenster anzeigen
      Application.Run(New MainWindow)
 
    Else
      ' Ja, es läuft bereits eine Instanz
      ' Aktuelle Prozess:
      Dim curProcess As Process = Process.GetCurrentProcess
 
      ' Alle Prozesse mit gleichem Namen abrufen
      Dim processes() As Process = _
        Process.GetProcessesByName(curProcess.ProcessName)
 
      ' Liste durchlaufen (sollte in der Regel zwei Einträge haben)
      For Each p As Process In processes
 
        ' Richtige Applikation?
        If p.MainModule.FileName = curProcess.MainModule.FileName Then
 
          ' Für den ersten fremden Prozess
          If p.Id <> curProcess.Id Then
            ' Hauptfenster dieses Prozesses anzeigen
            API.SetForegroundWindow(p.MainWindowHandle)
 
            ' Wenn es minimiert ist, wiederherstellen
            If API.IsIconic(p.MainWindowHandle) Then
              API.ShowWindow(p.MainWindowHandle, _
                API.ShowWindowConstants.SW_RESTORE)
            Else
              '' Ansonsten unverändert anzeigen
              'API.ShowWindow(p.MainWindowHandle, _
              '  API.ShowWindowConstants.SW_SHOW)
            End If
 
            ' Bearbeitung beenden
            Return
          End If
        End If
      Next
    End If
 
  End Sub
Gruß Morlock
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Kein zweites Starten des eigenen Programmes erlauben1.041Enrico Hahn17.07.04 16:11
Re: Kein zweites Starten des eigenen Programmes erlauben830Snof17.07.04 18:23
Re: Kein zweites Starten des eigenen Programmes erlauben745Enrico Hahn17.07.04 18:41
Hast du die Sub Main als Startobjekt festgelegt? (oT)799Snof17.07.04 18:48
Re: Hast du die Sub Main als Startobjekt festgelegt? (oT)775Enrico Hahn17.07.04 18:55
Re: Kein zweites Starten des eigenen Programmes erlauben1.006Morlock17.07.04 19:41

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel