Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как можно отследить запущено приложение или нет....? [D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


sIm-sIm ©   (2003-09-02 16:36:00) 

Как можно отследить запущено приложение или нет для того что бы избежать повторного запуска???


Verg   (2003-09-08 16:49:00) [1]

Если есть RXLib, то

VclUtils.ActivatePrevInstance


Vijit   (2003-09-08 15:32:00) [2]

Я использовал такой вариант:(частный случай, но все же...)
Сначала пытаюсь отыскать окно с классом окна моего запускаемого приложения и его заголовком и при его отсутствии присваиваю заголовок окну моей запускаемй проги. Примерно так:

Caption:="";// убираем заголовок
if FindWindow("TMyProg","MyCaption")=0 then //прога не найдена
Caption:="MyCaption"
else exit;//прога найдена, еще одна не запустится


jonni   (2003-09-02 17:44:00) [3]

ispol"zuy Mutex

pri zapuske svoey programmi

begin
hMutex:=CreateMutex(nil, FALSE, PChar("My Prog));
if ((hMutex = 0) or (GetLastError = ERROR_ALREADY_EXISTS)) then
begin
MessageBox (0, PChar("Already working"), PChar("My prog"), MB_OK or MB_ICONERROR or MB_SETFOREGROUND or MB_TOPMOST);
exit;
end;
..................

tut tvoya porga

..................
i v itoge

CloseHandle(hMutex);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо