|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 23, 2003 16:18:16 Каким образом определить есть ли копия программы в памяти? |
|
|
Дата: Авг 23, 2003 16:23:43 Самый распространенный путь - создать Mutex одной копией и проверять его наличие при запуске следующих. |
|
|
Дата: Авг 23, 2003 16:37:04 hGoblin А подробней можно?... |
|
|
Дата: Авг 23, 2003 17:39:24
CreateSemaphore(nil,0,1,'MyProgramName');
if GetLastError = ERROR_ALREADY_EXISTS then begin
// прога уже запущена, выходим
end;
Можно и через мьютекс, это роли не играет, главное, чтобы был именованный объект |
|
|
Дата: Авг 23, 2003 17:42:05 Примерно так:
HANDLE hMutex;
if (!OpenMutex(MUTEX_ALL_ACCESS, FALSE, "MyMutex"))
{
hMutex = CreateMutex(NULL, TRUE, "MyMutex");
}
else
{
// exit; already loaded
}
...
..OnClose()
{
CloseHandle(hMutex);
} |
|
|
Дата: Авг 23, 2003 18:36:54 |
|
|
Дата: Авг 23, 2003 20:08:42 Выражаю всем свою благодарность. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.038 |