![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как можно отследить запущено приложение или нет....? [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;