Как отменить повторные запуски, если программа уже запущена? - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д