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

Вниз

Как запретить запускать повторно уже запущенную программу?   Найти похожие ветки 

 
ttt_111   (2006-06-15 15:06) [0]

Как запретить запускать повторно уже запущенную программу?


 
DrPass ©   (2006-06-15 15:10) [1]

Создавать какой-либо глобальный объект (мютекс, memory-mapped файл, окно с уникальным именем класса или еще что фантазия родит), и при старте программы искать этот объект. Если есть - уже копия запущена, тогда сразу завершать работу. В любом ФАКе по программированию есть куча примеров на эту тему


 
dolmat   (2006-06-15 15:20) [2]

procedure TForm1.FormCreate(Sender: TObject);
VAR Wnd : hWnd; buff : ARRAY[0.. 127] OF Char;
Begin Wnd := GetWindow(Handle, gw_HWndFirst);
WHILE Wnd <> 0 DO BEGIN
IF (Wnd <> Application.Handle) AND (GetWindow(Wnd, gw_Owner) = 0)  THEN
 BEGIN
 GetWindowText (Wnd, buff, sizeof (buff ));
    IF StrPas (buff) = Application.Title THEN Halt;
    END;
    Wnd := GetWindow (Wnd, gw_hWndNext);
    END;

end;


 
ttt_111   (2006-06-15 15:37) [3]

Спасибо за помощь.



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
11-1129697831
Vladimir Kladov
2005-10-19 08:57
2006.07.02
Версия 2.17


2-1150288285
novill
2006-06-14 16:31
2006.07.02
Как узнать размер файла в интернете, и что возвращает


2-1150362531
[BAD]Angel
2006-06-15 13:08
2006.07.02
как подавить сообщение об ошибке?


3-1146809487
marcel
2006-05-05 10:11
2006.07.02
Создание исключения при добавлении данных в БД


3-1146644994
Juice
2006-05-03 12:29
2006.07.02
LangId_To_CodePage - Ошибка Left side cannot be assigned to