Показать сообщение отдельно
Старый 10.02.2009, 19:07   #11
Venom
Оператор ЭВМ
 
Регистрация: 25.02.2008
Сообщений: 24
Написано 8 полезных сообщений
(для 30 пользователей)
Ответ: Как не дать приложению запуститься более 1 раза?

Жжоте, для этого в windows существуют mutex обьекты или по-русски "семафоры".
файл "kernel32.decls" (в папке блица "userlibs"):
.lib "kernel32.dll"
CreateMutexA%(security%, initial%, name$)
CloseHandle(handle%)
GetLastError%()
Пример:
;Открываем семафор
Local mutex%
mutex = CreateMutexA(0, 0, "the one")
;Если возникла ошибка 183 - такой семафор уже существует
If (GetLastError() = 183) Then
    ;значит это второй экземпляр программы - выходим
    End
EndIf

Graphics3D(800, 600, 32, 2)
SetBuffer(BackBuffer())
CreateCamera()
Repeat
    RenderWorld()
    Flip()
Until (KeyDown(1))

;закрываем семафор
CloseHandle(mutex)

End
(Offline)
 
Ответить с цитированием
Эти 8 пользователя(ей) сказали Спасибо Venom за это полезное сообщение:
Blender (01.02.2010), Buraki (10.02.2009), H@NON (10.02.2009), HAMANN (10.02.2009), Harter (12.10.2009), HolyDel (10.02.2009), impersonalis (10.02.2009), Tadeus (10.02.2009)