Как отменить повторные запуски, если программа уже запущена? - VB

Узнай цену своей работы

Формулировка задачи:

Подскажите, как можно сделать, чтоб если моя программа уже запущенна, то не загружалась вторая ? Желательно код... хотя объяснения и подсказки тоже пойдут...

Решение задачи: «Как отменить повторные запуски, если программа уже запущена?»

textual
Листинг программы
Public Declare Function CreateSemaphore Lib 'kernel32' Alias 'CreateSemaphoreA' (ByVal lpSemaphoreAttributes As Long, ByVal lInitialCount As Long, ByVal lMaximumCount As Long, ByVal lpName As String) As Long
Public Declare Function ReleaseSemaphore Lib 'kernel32' (ByVal hSemaphore As Long, ByVal lReleaseCount As Long, lpPreviousCount As Long) As Long
 
Global semHNDL As Long
 
Sub Main()
 
    Err.Clear
 
    semHNDL = 0
 
    semHNDL = CreateSemaphore(0, 0, 1, 'Cats_Tail')
 
    RC& = Err.LastDllError
 
    If (RC& <> 0) Or (semHNDL = 0) Then
    
       '::: Это - не первый экземпляр
    
       MsgBox 'Повторный запуск!'
    
       End
    
    End If
 
    Form1.Show
 
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5
Похожие ответы