powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / запрет запуска копии программы
14 сообщений из 14, страница 1 из 1
запрет запуска копии программы
    #32118463
stepaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не подскажет, как запретить запуск второй копии программы на компьютере одновременно?
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32118469
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри на delphikingdom в faq. Там есть пара нормальных решений.
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32118486
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FindWindow для поиска запущенной проги.
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32118541
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можено использовать Mutex, нет так давно на этом форуме было
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32118592
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если прога умрет - как ты мьютекс убивать без перезагрузки компа будешь?
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32118631
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mutex умирает тут же, как только перестает существать процесс, её создавший. Это гарантирует архитектура Win32
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32119398
Фотография SmaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В файле проекта *.dpr

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
var
  hwndPrev: HWND;

begin
  Application.Initialize;
  hwndPrev:= FindWindow('<имя твоей формы, например - TMainForm>', nil);
  if hwndPrev <>   0  then
  begin
    SetForegroundWindow(hwndPrev);
    Application.Terminate;
  end
  else
  begin
    Application.CreateForm(TParamForm, ParamForm);
    Application.CreateForm(TSendMainForm, SendMainForm);
    Application.Run;
  end;
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32119407
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Весело, но неправильно (в общем случае). А вдруг Caption у mainform поменяется?
С мьютексами надежнее.
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32119447
Фотография SmaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весело, но неправильно (в общем случае). А вдруг Caption у mainform поменяется?

А где ты увидел Caption!! На его месте стоит nil . В том-то вся и фишка, что капшн формы можно менять хоть до опупения.
Все вытанцовывается от имени формы.
Я, например в таких случаях даю какое-нибудь оригинальное имя майнформ, что-то вроде TSmaLLSendMainForm75.
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32119453
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
HWND FindWindow(
LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
);

Ну и где там ИМЯ ФОРМЫ???
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32119467
Фотография SmaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не придирайся. Я имел в виду под именем формы - имя класса формы.
Т.Е. "Имя класса" = "Т"+"Имя формы"
lpClassName - это "Имя класса"
lpWindowName - это Caption формы, т.е. "Имя класса".Caption
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32119468
Speaker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, что имел в виду имя класса формы
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32119470
Фотография SmaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Speaker , вот ты меня понял !

P.S. Кстати, пока не забыл, что мне не понравилось на этом форуме, так это какое-то неуважительное отношение к участникам
...
Рейтинг: 0 / 0
запрет запуска копии программы
    #32119483
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
P.S. Кстати, пока не забыл, что мне не понравилось на этом форуме, так это какое-то неуважительное отношение к участникам

Это личное дело каждого. Но если хочется сказать это всему форуму - ДОБРО ПОЖАЛОВАТЬ В ПРОСТО ТРЕП!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / запрет запуска копии программы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]