Prevent more than one instance from any directory
No attachments for this post
After seeing a few examples submitted attempting to prevent more than one instance. I decided to submit my version.
This code will only prevent the 2nd instance from running no matter what directory both .exe are executed from.
In addition, it does not use App.PrevInstance and will not bring the 1st instance to the front, just merely a *WORKING* example of how to stop more then one instance from running and the code is very easy to understand and use in your own apps.
Original Author: Sabro
Private Const ERROR_ALREADY_EXISTS As Long = 183&
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As Any, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function ReleaseMutex Lib "kernel32" (ByVal hMutex As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Function IsPrevInstance() As Boolean
Dim lngMutex As Long
lngMutex = CreateMutex(ByVal 0&, 1, App.Title)
If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then
IsPrevInstance = True
IsPrevInstance = False
Private Sub Form_Load()
If IsPrevInstance = True Then
MsgBox "This Program Is Already Active!"
Comments on this post
No comments have been added for this post.
You must be logged in to make a comment.