![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CreateMutex
Stas © (2003-05-15 15:56:00)Кто знает как работает CreateMutex ? У этой функции 3 значения зачем первые 2 ?
Stas (2003-05-15 16:59:00) [1]>Ihor Osov"yak
Да я имя другое использую, это я в форуме так написал.
Ihor Osov'yak (2003-05-15 16:45:00) [2]Из хельпа:
CreateMutex
Return Values
If the function succeeds, the return value is a handle to the mutex object. If the named mutex object existed before the function call, the GetLastError function returns ERROR_ALREADY_EXISTS. Otherwise, GetLastError returns zero.
И не используй имена типа "MyMutex". Можешь востользоваться строковім представлением специально сгенерированного GUI (Ctrl+Shift+G)
Stas (2003-05-15 16:28:00) [3]А как его проверить ?
Я делаю так:
HMutex:=CreateMutex (nil,False,"MyMutex");
if WaitForSingleObject(HMutex,0)<>wait_TimeOut
then...
И здесь чтобы проверить наличие Mutexa его нужно создать.
MBo (2003-05-15 16:18:00) [4]Если вторая должна запустится толькоесли работает 1-я, то каждая программа создает свой мьютекс, перед тем проверив наличие чужого.
Stas (2003-05-15 16:11:00) [5]>Если security не волнует, первым ставь nil
Да я так и делаю, а вот в хелпе ничего не нашел :-(.
У меня в принципе это работает. Но такая проблема
есть 2 проги. 1 и 2, которые не должны повторно запускаться, но 1-я прога не должна запускаться если работает 2-я, а вторая должна запустится если работает 1-я.
Как это можно сделать ?
MBo (2003-05-15 16:00:00) [6]в хелпе это подробно описано.
Если security не волнует, первым ставь nil