vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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

Allgemeine Diskussionen
Re: Programm mehrfach geöffnet ?! 
Autor: Dirk
Datum: 05.09.11 09:50

Du musst über Sub Main starten, nicht über eine Form. Dann folgendes hinzufügen:

Private Declare Function CloseHandle Lib "kernel32.dll" ( _
    ByVal hObject As Long _
  ) As Long
 
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" ( _
    ByVal lpMutexAttributes As Long, _
    ByVal bInitialOwner As Long, _
    ByVal lpName As String _
  ) As Long
 
Private Declare Function OpenMutex Lib "kernel32.dll" Alias "OpenMutexA" ( _
    ByVal dwDesiredAccess As Long, _
    ByVal bInheritHandle As Long, _
    ByVal lpName As String _
  ) As Long
 
Private Const MUTEX_ALL_ACCESS = &H1 Or &HF0000 Or &H100000
Private Const MY_MUTEX As String = "MeinSinnvollerMutexName"
 
Private m_Mutex                 As Long
 
Public Sub Main()
 
  On Error Resume Next
 
  If isAlreadyRunning Then 
    'Evtl. MsgBox
    End
  End If
 
  m_Mutex = CreateMutex(0&, 0&, ByVal MY_MUTEX)
 
 
  '...
 
End Sub
 
Private Function isAlreadyRunning() As Boolean
 
  Dim lngResult As Long
 
  On Error Resume Next
 
 
  lngResult = OpenMutex(MUTEX_ALL_ACCESS, 0&, MY_MUTEX)
  isAlreadyRunning = lngResult <> 0
 
  If isAlreadyRunning Then
    CloseHandle lngResult
  End If
 
End Function
 
'Muss beim Beenden deiner App aufgerufen werden
Public Sub ProgramTerminate()
  CloseHandle m_Mutex
End Sub
PS: Das sollte sicher funktionieren. Probleme gibt es höchstens, wenn du beim Debuggen über den Stopp Button raus gehst.

Gruß
Dirk

--
?Get it right the first time

Beitrag wurde zuletzt am 05.09.11 um 09:54:20 editiert.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Programm mehrfach geöffnet ?!3.121caramba05.09.11 06:43
Re: Programm mehrfach geöffnet ?!1.538Dirk05.09.11 09:07
Re: Programm mehrfach geöffnet ?!1.502ModeratorDaveS05.09.11 09:16
Re: Programm mehrfach geöffnet ?!1.511caramba05.09.11 09:29
Re: Programm mehrfach geöffnet ?!1.544ModeratorDaveS05.09.11 09:46
Re: Programm mehrfach geöffnet ?!1.469caramba05.09.11 11:28
Re: Programm mehrfach geöffnet ?!1.480Maas05.09.11 17:00
Re: Programm mehrfach geöffnet ?!1.521ModeratorDaveS05.09.11 17:44
Re: Programm mehrfach geöffnet ?!1.428Maas05.09.11 19:13
Re: Programm mehrfach geöffnet ?!1.431caramba05.09.11 18:48
Re: Programm mehrfach geöffnet ?!1.461ModeratorDaveS05.09.11 19:21
Re: Programm mehrfach geöffnet ?!1.757Dirk05.09.11 09:50
Re: Programm mehrfach geöffnet ?!1.438caramba05.09.11 19:17
Re: Programm mehrfach geöffnet ?!1.448ModeratorDaveS05.09.11 19:23
Re: Programm mehrfach geöffnet ?!1.441caramba06.09.11 10:11
Re: Programm mehrfach geöffnet ?!1.508ModeratorDaveS06.09.11 10:52
Re: Programm mehrfach geöffnet ?!1.441caramba06.09.11 11:42
Re: Programm mehrfach geöffnet ?!1.430Franki06.09.11 23:16
Re: Programm mehrfach geöffnet ?!1.426ModeratorDaveS07.09.11 07:52
Re: Programm mehrfach geöffnet ?!1.444caramba07.09.11 10:20
Re: Programm mehrfach geöffnet ?!1.431Franki09.09.11 23:07
Re: Programm mehrfach geöffnet ?!1.412caramba06.09.11 10:18
Re: Programm mehrfach geöffnet ?!1.415Dirk07.09.11 21:13
Re: Programm mehrfach geöffnet ?!1.460caramba08.09.11 10:19

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