Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.03;
Скачать: CL | DM;

Вниз

проверка запуска одного экземпляра приложения   Найти похожие ветки 

 
Анна   (2009-03-03 12:13) [0]

Программа запускается с сервера. Пользователи запускают программу в рамках своей терминальной сессии.
Как проверить, чтобы у каждого пользователя в рамках своей терминальной сессии запускался только один экземпляр приложения?
Ответьте пожалуйста. В интернете, к сожалению, не могу поискать, на работе резко уменьшили скорость интернета, стало невозможно что-то почитать и найти. Кризис.


 
clickmaker ©   (2009-03-03 13:13) [1]

hMutex := CreateMutex(nil, false, PChar("Local\" + AppName);
if (hMutex = 0 and (GetLastError() = ERROR_ALREADY_EXISTS) then
 // уже запущен в этой сессии
где AppName - любая строка, уникально идентифицирующая приложение


 
Вариант   (2009-03-03 13:26) [2]


> if (hMutex = 0 and (GetLastError() = ERROR_ALREADY_EXISTS)
> then


Наверное описка
>  hMutex = 0

В случае успеха выполнения функции CreateMutex, hMutex <> 0, даже если он уже был создан.
Или AND меняем на OR, ошибку создания мьютекса считаем тоже причиной для выхода.


 
clickmaker ©   (2009-03-03 13:33) [3]

да, точно


 
Анна   (2009-03-03 14:29) [4]


> Вариант   (03.03.09 13:26) [2]


> clickmaker ©   (03.03.09 13:33) [3]


Большое спасибо!!! :))))



Страницы: 1 вся ветка

Текущий архив: 2009.05.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
4-1209066995
Тыщ
2008-04-24 23:56
2009.05.03
ProcessID и иконка родительской консольной программы


2-1237280245
Mozgan
2009-03-17 11:57
2009.05.03
Два события на одну кнопку


10-1148459999
irena_ok
2006-05-24 12:39
2009.05.03
Создание и заполнениев таблиц в Ворде


15-1235943001
Юрий
2009-03-02 00:30
2009.05.03
С днем рождения ! 2 марта 2009 понедельник


2-1237842664
alexander-rsh
2009-03-24 00:11
2009.05.03
Удаление папки