· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Определение наличия копии программы в памяти

Посл.отвђт Сообщен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